Ruby 3.3.6p108 (2024-11-05 revision 75015d4c1f6965b5e85e96fb309f1f2129f933c0)
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   during_reference_updating: 1 
 
   unsigned int   gc_stressful: 1 
 
   unsigned int   has_newobj_hook: 1 
 
   unsigned int   during_minor_gc: 1 
 
   unsigned int   during_incremental_marking: 1 
 
   unsigned int   measure_gc: 1 
 
flags 
 
rb_event_flag_t hook_events
 
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_tablefinalizer_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 
 
   uint64_t   marking_time_ns 
 
   struct timespec   marking_start_time 
 
   uint64_t   sweeping_time_ns 
 
   struct timespec   sweeping_start_time 
 
   size_t   weak_references_count 
 
   size_t   retained_weak_references_count 
 
profile 
 
struct gc_listglobal_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 
 
   gc_compact_compare_func   compare_func 
 
rcompactor 
 
struct { 
 
   size_t   pooled_slots 
 
   size_t   step_slots 
 
rincgc 
 
st_tableid_to_obj_tbl
 
st_tableobj_to_id_tbl
 

Detailed Description

Definition at line 803 of file gc.c.

Field Documentation

◆ allocatable_pages

size_t rb_objspace::allocatable_pages

Definition at line 844 of file gc.c.

◆ allocated_pages

size_t rb_objspace::allocated_pages

Definition at line 843 of file gc.c.

◆ compact_count

size_t rb_objspace::compact_count

Definition at line 871 of file gc.c.

◆ compare_func

gc_compact_compare_func rb_objspace::compare_func

Definition at line 939 of file gc.c.

◆ considered_count_table

size_t rb_objspace::considered_count_table[T_MASK]

Definition at line 932 of file gc.c.

◆ count

size_t rb_objspace::count

Definition at line 897 of file gc.c.

◆ current_record

gc_profile_record* rb_objspace::current_record

Definition at line 860 of file gc.c.

◆ deferred_final

VALUE rb_objspace::deferred_final

Definition at line 851 of file gc.c.

◆ dont_gc

unsigned int rb_objspace::dont_gc

Definition at line 817 of file gc.c.

◆ dont_incremental

unsigned int rb_objspace::dont_incremental

Definition at line 818 of file gc.c.

◆ during_compacting

unsigned int rb_objspace::during_compacting

Definition at line 820 of file gc.c.

◆ during_gc

unsigned int rb_objspace::during_gc

Definition at line 819 of file gc.c.

◆ during_incremental_marking

unsigned int rb_objspace::during_incremental_marking

Definition at line 825 of file gc.c.

◆ during_minor_gc

unsigned int rb_objspace::during_minor_gc

Definition at line 824 of file gc.c.

◆ during_reference_updating

unsigned int rb_objspace::during_reference_updating

Definition at line 821 of file gc.c.

◆ final_slots

size_t rb_objspace::final_slots

Definition at line 850 of file gc.c.

◆ finalizer_table

st_table* rb_objspace::finalizer_table

Definition at line 854 of file gc.c.

◆ finalizing

rb_atomic_t rb_objspace::finalizing

Definition at line 835 of file gc.c.

◆ freeable_pages

size_t rb_objspace::freeable_pages

Definition at line 847 of file gc.c.

◆ gc_stress_mode

VALUE rb_objspace::gc_stress_mode

Definition at line 909 of file gc.c.

◆ gc_stressful

unsigned int rb_objspace::gc_stressful

Definition at line 822 of file gc.c.

◆ gc_sweep_start_time

double rb_objspace::gc_sweep_start_time

Definition at line 892 of file gc.c.

◆ global_list

struct gc_list* rb_objspace::global_list

Definition at line 907 of file gc.c.

◆ has_newobj_hook

unsigned int rb_objspace::has_newobj_hook

Definition at line 823 of file gc.c.

◆ heap_used_at_gc_start

size_t rb_objspace::heap_used_at_gc_start

Definition at line 894 of file gc.c.

◆ hook_events

rb_event_flag_t rb_objspace::hook_events

Definition at line 829 of file gc.c.

◆ id_to_obj_tbl

st_table* rb_objspace::id_to_obj_tbl

Definition at line 947 of file gc.c.

◆ immediate_sweep

unsigned int rb_objspace::immediate_sweep

Definition at line 816 of file gc.c.

◆ increase

size_t rb_objspace::increase

Definition at line 806 of file gc.c.

◆ invoke_time

double rb_objspace::invoke_time

Definition at line 867 of file gc.c.

◆ last_major_gc

size_t rb_objspace::last_major_gc

Definition at line 914 of file gc.c.

◆ latest_gc_info

unsigned int rb_objspace::latest_gc_info

Definition at line 858 of file gc.c.

◆ limit

size_t rb_objspace::limit

Definition at line 805 of file gc.c.

◆ major_gc_count

size_t rb_objspace::major_gc_count

Definition at line 870 of file gc.c.

◆ mark_stack

mark_stack_t rb_objspace::mark_stack

Definition at line 838 of file gc.c.

◆ marked_slots

size_t rb_objspace::marked_slots

Definition at line 839 of file gc.c.

◆ marking_start_time

struct timespec rb_objspace::marking_start_time

Definition at line 899 of file gc.c.

◆ marking_time_ns

uint64_t rb_objspace::marking_time_ns

Definition at line 898 of file gc.c.

◆ measure_gc

unsigned int rb_objspace::measure_gc

Definition at line 826 of file gc.c.

◆ minor_gc_count

size_t rb_objspace::minor_gc_count

Definition at line 869 of file gc.c.

◆ mode

unsigned int rb_objspace::mode

Definition at line 815 of file gc.c.

◆ moved_count_table

size_t rb_objspace::moved_count_table[T_MASK]

Definition at line 933 of file gc.c.

◆ moved_down_count_table

size_t rb_objspace::moved_down_count_table[T_MASK]

Definition at line 935 of file gc.c.

◆ moved_up_count_table

size_t rb_objspace::moved_up_count_table[T_MASK]

Definition at line 934 of file gc.c.

◆ need_major_gc

int rb_objspace::need_major_gc

Definition at line 913 of file gc.c.

◆ next_index

size_t rb_objspace::next_index

Definition at line 861 of file gc.c.

◆ next_object_id

VALUE rb_objspace::next_object_id

Definition at line 830 of file gc.c.

◆ obj_to_id_tbl

st_table* rb_objspace::obj_to_id_tbl

Definition at line 948 of file gc.c.

◆ old_objects

size_t rb_objspace::old_objects

Definition at line 917 of file gc.c.

◆ old_objects_limit

size_t rb_objspace::old_objects_limit

Definition at line 918 of file gc.c.

◆ parent_object

VALUE rb_objspace::parent_object

Definition at line 912 of file gc.c.

◆ pooled_slots

size_t rb_objspace::pooled_slots

Definition at line 943 of file gc.c.

◆ range

uintptr_t rb_objspace::range[2]

Definition at line 846 of file gc.c.

◆ read_barrier_faults

size_t rb_objspace::read_barrier_faults

Definition at line 872 of file gc.c.

◆ records

gc_profile_record* rb_objspace::records

Definition at line 859 of file gc.c.

◆ retained_weak_references_count

size_t rb_objspace::retained_weak_references_count

Definition at line 905 of file gc.c.

◆ run

int rb_objspace::run

Definition at line 857 of file gc.c.

◆ size

size_t rb_objspace::size

Definition at line 862 of file gc.c.

◆ size_pools

rb_size_pool_t rb_objspace::size_pools[SIZE_POOL_COUNT]

Definition at line 832 of file gc.c.

◆ sorted

struct heap_page** rb_objspace::sorted

Definition at line 842 of file gc.c.

◆ sorted_length

size_t rb_objspace::sorted_length

Definition at line 845 of file gc.c.

◆ step_slots

size_t rb_objspace::step_slots

Definition at line 944 of file gc.c.

◆ sweeping_start_time

struct timespec rb_objspace::sweeping_start_time

Definition at line 901 of file gc.c.

◆ sweeping_time_ns

uint64_t rb_objspace::sweeping_time_ns

Definition at line 900 of file gc.c.

◆ total_allocated_objects_at_gc_start

size_t rb_objspace::total_allocated_objects_at_gc_start

Definition at line 893 of file gc.c.

◆ total_moved

size_t rb_objspace::total_moved

Definition at line 936 of file gc.c.

◆ uncollectible_wb_unprotected_objects

size_t rb_objspace::uncollectible_wb_unprotected_objects

Definition at line 915 of file gc.c.

◆ uncollectible_wb_unprotected_objects_limit

size_t rb_objspace::uncollectible_wb_unprotected_objects_limit

Definition at line 916 of file gc.c.

◆ weak_references_count

size_t rb_objspace::weak_references_count

Definition at line 904 of file gc.c.


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