Ruby: heap_page Struct Reference

Ruby 3.2.5p208 (2024-07-26 revision 31d0f1a2e7dbfb60731d1f05b868e1d578cda493)

Data Fields
heap_page Struct Reference

## Data Fields
short | slot_size
short | total_slots
short | free_slots
short | final_slots
struct { |
unsigned int before_sweep: 1 |
unsigned int has_remembered_objects: 1 |
unsigned int has_uncollectible_shady_objects: 1 |
unsigned int in_tomb: 1 |
} | flags |
rb_size_pool_t * | size_pool
struct heap_page * | free_next
uintptr_t | start
RVALUE * | freelist
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 | pinned_bits [HEAP_PAGE_BITMAP_LIMIT]

## Detailed Description

Definition at line 945 of file gc.c.

## Field Documentation

## ◆ before_sweep

unsigned int heap_page::before_sweep

Definition at line 951 of file gc.c.

## ◆ final_slots

short heap_page::final_slots

Definition at line 949 of file gc.c.

## ◆ free_next

struct heap_page* heap_page::free_next

Definition at line 959 of file gc.c.

## ◆ free_slots

short heap_page::free_slots

Definition at line 948 of file gc.c.

## ◆ freelist

RVALUE* heap_page::freelist

Definition at line 961 of file gc.c.

## ◆ has_remembered_objects

unsigned int heap_page::has_remembered_objects

Definition at line 952 of file gc.c.

## ◆ has_uncollectible_shady_objects

unsigned int heap_page::has_uncollectible_shady_objects

Definition at line 953 of file gc.c.

## ◆ in_tomb

unsigned int heap_page::in_tomb

Definition at line 954 of file gc.c.

## ◆ mark_bits

bits_t heap_page::mark_bits[HEAP_PAGE_BITMAP_LIMIT]

Definition at line 966 of file gc.c.

## ◆ marking_bits

bits_t heap_page::marking_bits[HEAP_PAGE_BITMAP_LIMIT]

Definition at line 968 of file gc.c.

## ◆ page_node

struct ccan_list_node heap_page::page_node

Definition at line 962 of file gc.c.

## ◆ pinned_bits

bits_t heap_page::pinned_bits[HEAP_PAGE_BITMAP_LIMIT]

Definition at line 971 of file gc.c.

## ◆ size_pool

rb_size_pool_t* heap_page::size_pool

Definition at line 957 of file gc.c.

## ◆ slot_size

short heap_page::slot_size

Definition at line 946 of file gc.c.

## ◆ start

uintptr_t heap_page::start

Definition at line 960 of file gc.c.

## ◆ total_slots

short heap_page::total_slots

Definition at line 947 of file gc.c.

## ◆ uncollectible_bits

bits_t heap_page::uncollectible_bits[HEAP_PAGE_BITMAP_LIMIT]

Definition at line 967 of file gc.c.

## ◆ wb_unprotected_bits

bits_t heap_page::wb_unprotected_bits[HEAP_PAGE_BITMAP_LIMIT]

Definition at line 964 of file gc.c.

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

- gc.c