Ruby: rb_objspace Struct Reference

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

Data Fields
rb_objspace Struct Reference

## Data Fields
struct { |
size_t limit |
size_t increase |
} | malloc_params |
struct { |
unsigned int mode: 2 |
unsigned int immediate_sweep: 1 |
unsigned int dont_gc: 1 |
unsigned int dont_incremental: 1 |
unsigned int during_gc: 1 |
unsigned int during_compacting: 1 |
unsigned int gc_stressful: 1 |
unsigned int has_hook: 1 |
unsigned int during_minor_gc: 1 |
unsigned int measure_gc: 1 |
} | flags |
rb_event_flag_t | hook_events
size_t | total_allocated_objects
VALUE | next_object_id
rb_size_pool_t | size_pools [SIZE_POOL_COUNT]
struct { |
rb_atomic_t finalizing |
} | atomic_flags |
mark_stack_t | mark_stack
size_t | marked_slots
struct { |
struct heap_page ** sorted |
size_t allocated_pages |
size_t allocatable_pages |
size_t sorted_length |
uintptr_t range [2] |
size_t freeable_pages |
size_t final_slots |
VALUE deferred_final |
} | heap_pages |
st_table * | finalizer_table
struct { |
int run |
unsigned int latest_gc_info |
gc_profile_record * records |
gc_profile_record * current_record |
size_t next_index |
size_t size |
double invoke_time |
size_t minor_gc_count |
size_t major_gc_count |
size_t compact_count |
size_t read_barrier_faults |
double gc_sweep_start_time |
size_t total_allocated_objects_at_gc_start |
size_t heap_used_at_gc_start |
size_t count |
size_t total_freed_objects |
uint64_t total_time_ns |
struct timespec start_time |
} | profile |
struct gc_list * | global_list
VALUE | gc_stress_mode
struct { |
VALUE parent_object |
int need_major_gc |
size_t last_major_gc |
size_t uncollectible_wb_unprotected_objects |
size_t uncollectible_wb_unprotected_objects_limit |
size_t old_objects |
size_t old_objects_limit |
} | rgengc |
struct { |
size_t considered_count_table [T_MASK] |
size_t moved_count_table [T_MASK] |
size_t moved_up_count_table [T_MASK] |
size_t moved_down_count_table [T_MASK] |
size_t total_moved |
} | rcompactor |
st_table * | id_to_obj_tbl
st_table * | obj_to_id_tbl

## Detailed Description

Definition at line 731 of file gc.c.

## Field Documentation

## ◆ allocatable_pages

size_t rb_objspace::allocatable_pages

Definition at line 774 of file gc.c.

## ◆ allocated_pages

size_t rb_objspace::allocated_pages

Definition at line 773 of file gc.c.

## ◆ compact_count

size_t rb_objspace::compact_count

Definition at line 801 of file gc.c.

## ◆ considered_count_table

size_t rb_objspace::considered_count_table[T_MASK]

Definition at line 857 of file gc.c.

## ◆ count

size_t rb_objspace::count

Definition at line 827 of file gc.c.

## ◆ current_record

gc_profile_record* rb_objspace::current_record

Definition at line 790 of file gc.c.

## ◆ deferred_final

VALUE rb_objspace::deferred_final

Definition at line 781 of file gc.c.

## ◆ dont_gc

unsigned int rb_objspace::dont_gc

Definition at line 745 of file gc.c.

## ◆ dont_incremental

unsigned int rb_objspace::dont_incremental

Definition at line 746 of file gc.c.

## ◆ during_compacting

unsigned int rb_objspace::during_compacting

Definition at line 748 of file gc.c.

## ◆ during_gc

unsigned int rb_objspace::during_gc

Definition at line 747 of file gc.c.

## ◆ during_minor_gc

unsigned int rb_objspace::during_minor_gc

Definition at line 751 of file gc.c.

## ◆ final_slots

size_t rb_objspace::final_slots

Definition at line 780 of file gc.c.

## ◆ finalizer_table

st_table* rb_objspace::finalizer_table

Definition at line 784 of file gc.c.

## ◆ finalizing

rb_atomic_t rb_objspace::finalizing

Definition at line 765 of file gc.c.

## ◆ freeable_pages

size_t rb_objspace::freeable_pages

Definition at line 777 of file gc.c.

## ◆ gc_stress_mode

VALUE rb_objspace::gc_stress_mode

Definition at line 834 of file gc.c.

## ◆ gc_stressful

unsigned int rb_objspace::gc_stressful

Definition at line 749 of file gc.c.

## ◆ gc_sweep_start_time

double rb_objspace::gc_sweep_start_time

Definition at line 822 of file gc.c.

## ◆ global_list

struct gc_list* rb_objspace::global_list

Definition at line 832 of file gc.c.

## ◆ has_hook

unsigned int rb_objspace::has_hook

Definition at line 750 of file gc.c.

## ◆ heap_used_at_gc_start

size_t rb_objspace::heap_used_at_gc_start

Definition at line 824 of file gc.c.

## ◆ hook_events

rb_event_flag_t rb_objspace::hook_events

Definition at line 758 of file gc.c.

## ◆ id_to_obj_tbl

st_table* rb_objspace::id_to_obj_tbl

Definition at line 871 of file gc.c.

## ◆ immediate_sweep

unsigned int rb_objspace::immediate_sweep

Definition at line 744 of file gc.c.

## ◆ increase

size_t rb_objspace::increase

Definition at line 734 of file gc.c.

## ◆ invoke_time

double rb_objspace::invoke_time

Definition at line 797 of file gc.c.

## ◆ last_major_gc

size_t rb_objspace::last_major_gc

Definition at line 839 of file gc.c.

## ◆ latest_gc_info

unsigned int rb_objspace::latest_gc_info

Definition at line 788 of file gc.c.

## ◆ limit

size_t rb_objspace::limit

Definition at line 733 of file gc.c.

## ◆ major_gc_count

size_t rb_objspace::major_gc_count

Definition at line 800 of file gc.c.

## ◆ mark_stack

mark_stack_t rb_objspace::mark_stack

Definition at line 768 of file gc.c.

## ◆ marked_slots

size_t rb_objspace::marked_slots

Definition at line 769 of file gc.c.

## ◆ measure_gc

unsigned int rb_objspace::measure_gc

Definition at line 755 of file gc.c.

## ◆ minor_gc_count

size_t rb_objspace::minor_gc_count

Definition at line 799 of file gc.c.

## ◆ mode

unsigned int rb_objspace::mode

Definition at line 743 of file gc.c.

## ◆ moved_count_table

size_t rb_objspace::moved_count_table[T_MASK]

Definition at line 858 of file gc.c.

## ◆ moved_down_count_table

size_t rb_objspace::moved_down_count_table[T_MASK]

Definition at line 860 of file gc.c.

## ◆ moved_up_count_table

size_t rb_objspace::moved_up_count_table[T_MASK]

Definition at line 859 of file gc.c.

## ◆ need_major_gc

int rb_objspace::need_major_gc

Definition at line 838 of file gc.c.

## ◆ next_index

size_t rb_objspace::next_index

Definition at line 791 of file gc.c.

## ◆ next_object_id

VALUE rb_objspace::next_object_id

Definition at line 760 of file gc.c.

## ◆ obj_to_id_tbl

st_table* rb_objspace::obj_to_id_tbl

Definition at line 872 of file gc.c.

## ◆ old_objects

size_t rb_objspace::old_objects

Definition at line 842 of file gc.c.

## ◆ old_objects_limit

size_t rb_objspace::old_objects_limit

Definition at line 843 of file gc.c.

## ◆ parent_object

VALUE rb_objspace::parent_object

Definition at line 837 of file gc.c.

## ◆ range

uintptr_t rb_objspace::range[2]

Definition at line 776 of file gc.c.

## ◆ read_barrier_faults

size_t rb_objspace::read_barrier_faults

Definition at line 802 of file gc.c.

## ◆ records

gc_profile_record* rb_objspace::records

Definition at line 789 of file gc.c.

## ◆ run

int rb_objspace::run

Definition at line 787 of file gc.c.

## ◆ size

size_t rb_objspace::size

Definition at line 792 of file gc.c.

## ◆ size_pools

rb_size_pool_t rb_objspace::size_pools[SIZE_POOL_COUNT]

Definition at line 762 of file gc.c.

## ◆ sorted

struct heap_page** rb_objspace::sorted

Definition at line 772 of file gc.c.

## ◆ sorted_length

size_t rb_objspace::sorted_length

Definition at line 775 of file gc.c.

## ◆ start_time

struct timespec rb_objspace::start_time

Definition at line 830 of file gc.c.

## ◆ total_allocated_objects

size_t rb_objspace::total_allocated_objects

Definition at line 759 of file gc.c.

## ◆ total_allocated_objects_at_gc_start

size_t rb_objspace::total_allocated_objects_at_gc_start

Definition at line 823 of file gc.c.

## ◆ total_freed_objects

size_t rb_objspace::total_freed_objects

Definition at line 828 of file gc.c.

## ◆ total_moved

size_t rb_objspace::total_moved

Definition at line 861 of file gc.c.

## ◆ total_time_ns

uint64_t rb_objspace::total_time_ns

Definition at line 829 of file gc.c.

## ◆ uncollectible_wb_unprotected_objects

size_t rb_objspace::uncollectible_wb_unprotected_objects

Definition at line 840 of file gc.c.

## ◆ uncollectible_wb_unprotected_objects_limit

size_t rb_objspace::uncollectible_wb_unprotected_objects_limit

Definition at line 841 of file gc.c.

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

- gc.c