Ruby 3.3.2p78 (2024-05-30 revision e5a195edf62fe1bf7146a191da13fa1c4fecbd71)
heap_page Struct Reference

Data Fields

short slot_size
 
short total_slots
 
short free_slots
 
short final_slots
 
short pinned_slots
 
struct { 
 
   unsigned int   before_sweep: 1 
 
   unsigned int   has_remembered_objects: 1 
 
   unsigned int   has_uncollectible_wb_unprotected_objects: 1 
 
   unsigned int   in_tomb: 1 
 
flags 
 
rb_size_pool_tsize_pool
 
struct heap_pagefree_next
 
uintptr_t start
 
RVALUEfreelist
 
struct ccan_list_node page_node
 
bits_t wb_unprotected_bits [HEAP_PAGE_BITMAP_LIMIT]
 
bits_t mark_bits [HEAP_PAGE_BITMAP_LIMIT]
 
bits_t uncollectible_bits [HEAP_PAGE_BITMAP_LIMIT]
 
bits_t marking_bits [HEAP_PAGE_BITMAP_LIMIT]
 
bits_t remembered_bits [HEAP_PAGE_BITMAP_LIMIT]
 
bits_t pinned_bits [HEAP_PAGE_BITMAP_LIMIT]
 
bits_t age_bits [HEAP_PAGE_BITMAP_LIMIT *RVALUE_AGE_BIT_COUNT]
 

Detailed Description

Definition at line 1027 of file gc.c.

Field Documentation

◆ age_bits

bits_t heap_page::age_bits[HEAP_PAGE_BITMAP_LIMIT *RVALUE_AGE_BIT_COUNT]

Definition at line 1057 of file gc.c.

◆ before_sweep

unsigned int heap_page::before_sweep

Definition at line 1034 of file gc.c.

◆ final_slots

short heap_page::final_slots

Definition at line 1031 of file gc.c.

◆ free_next

struct heap_page* heap_page::free_next

Definition at line 1042 of file gc.c.

◆ free_slots

short heap_page::free_slots

Definition at line 1030 of file gc.c.

◆ freelist

RVALUE* heap_page::freelist

Definition at line 1044 of file gc.c.

◆ has_remembered_objects

unsigned int heap_page::has_remembered_objects

Definition at line 1035 of file gc.c.

◆ has_uncollectible_wb_unprotected_objects

unsigned int heap_page::has_uncollectible_wb_unprotected_objects

Definition at line 1036 of file gc.c.

◆ in_tomb

unsigned int heap_page::in_tomb

Definition at line 1037 of file gc.c.

◆ mark_bits

bits_t heap_page::mark_bits[HEAP_PAGE_BITMAP_LIMIT]

Definition at line 1049 of file gc.c.

◆ marking_bits

bits_t heap_page::marking_bits[HEAP_PAGE_BITMAP_LIMIT]

Definition at line 1051 of file gc.c.

◆ page_node

struct ccan_list_node heap_page::page_node

Definition at line 1045 of file gc.c.

◆ pinned_bits

bits_t heap_page::pinned_bits[HEAP_PAGE_BITMAP_LIMIT]

Definition at line 1056 of file gc.c.

◆ pinned_slots

short heap_page::pinned_slots

Definition at line 1032 of file gc.c.

◆ remembered_bits

bits_t heap_page::remembered_bits[HEAP_PAGE_BITMAP_LIMIT]

Definition at line 1053 of file gc.c.

◆ size_pool

rb_size_pool_t* heap_page::size_pool

Definition at line 1040 of file gc.c.

◆ slot_size

short heap_page::slot_size

Definition at line 1028 of file gc.c.

◆ start

uintptr_t heap_page::start

Definition at line 1043 of file gc.c.

◆ total_slots

short heap_page::total_slots

Definition at line 1029 of file gc.c.

◆ uncollectible_bits

bits_t heap_page::uncollectible_bits[HEAP_PAGE_BITMAP_LIMIT]

Definition at line 1050 of file gc.c.

◆ wb_unprotected_bits

bits_t heap_page::wb_unprotected_bits[HEAP_PAGE_BITMAP_LIMIT]

Definition at line 1047 of file gc.c.


The documentation for this struct was generated from the following file: