Ruby 4.1.0dev (2026-10-02 revision 9f323525f8194f7670a1519d81a27cfb41dc9306)
Data Structures | Public Member Functions | Data Fields
rb_objspace Struct Reference

Data Structures

struct  rb_gc_config
 

Public Member Functions

 rb_darray (VALUE)
 

Data Fields

struct { 
 
   struct gc_malloc_bytes   counters 
 
   rb_nativethread_lock_t   lock 
 
} malloc_counters 
 
struct { 
 
   size_t   limit 
 
} malloc_params 
 
struct rb_objspace::rb_gc_config gc_config
 
struct { 
 
   unsigned int   mode: 2 
 
   unsigned int   immediate_sweep: 1 
 
   unsigned int   dont_gc: 1 
 
   unsigned int   user_gc_disabled: 1 
 
   unsigned int   dont_incremental: 1 
 
   unsigned int   during_gc: 1 
 
   unsigned int   during_global_gc: 1 
 
   unsigned int   during_compacting: 1 
 
   unsigned int   gc_lock_barrier: 1 
 
   unsigned int   during_reference_updating: 1 
 
   unsigned int   during_minor_gc: 1 
 
   unsigned int   during_incremental_marking: 1 
 
   unsigned int   during_postmortem: 1 
 
   unsigned int   measure_gc: 1 
 
} flags 
 
rb_event_flag_t hook_events
 
rb_heap_t heaps [HEAP_COUNT]
 
size_t empty_pages_count
 
struct heap_page * empty_pages
 
struct { 
 
   rb_atomic_t   finalizing 
 
} atomic_flags 
 
mark_stack_t mark_stack
 
size_t marked_slots
 
size_t incremental_mark_step_allocated_slots
 
size_t shareable_objects
 
size_t shareable_objects_limit
 
unsigned char last_cycle_pinned
 
struct { 
 
} 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 
 
   size_t   record_count 
 
   size_t   max_records 
 
   size_t   record_sequence 
 
   double   invoke_time 
 
   rb_hrtime_t   invoke_wall_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 
 
   rb_hrtime_t   gc_wall_start_time 
 
   rb_hrtime_t   gc_sweep_wall_start_time 
 
   rb_hrtime_t   gc_sweep_excluded_wall_time 
 
   rb_hrtime_t   gc_pause_start_time 
 
   rb_hrtime_t   gc_stw_start_time 
 
   rb_hrtime_t   gc_stop_time 
 
   rb_hrtime_t   gc_mark_phase_wall_start_time 
 
   rb_hrtime_t   gc_sweep_phase_wall_start_time 
 
   size_t   count 
 
   unsigned long long   marking_time_ns 
 
   struct timespec   marking_start_time 
 
   unsigned long long   sweeping_time_ns 
 
   struct timespec   sweeping_start_time 
 
   size_t   weak_references_count 
 
} profile 
 
struct { 
 
   bool   parent_object_old_p 
 
   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 
 
 process_stat
 

Detailed Description

Definition at line 625 of file default.c.

Member Function Documentation

◆ rb_darray()

rb_objspace::rb_darray ( VALUE  )
inline

Definition at line 813 of file default.c.

Field Documentation

◆ compact_count

size_t rb_objspace::compact_count

Definition at line 725 of file default.c.

◆ compare_func

gc_compact_compare_func rb_objspace::compare_func

Definition at line 801 of file default.c.

◆ considered_count_table

size_t rb_objspace::considered_count_table[T_MASK]

Definition at line 794 of file default.c.

◆ count

size_t rb_objspace::count

Definition at line 761 of file default.c.

◆ counters

struct gc_malloc_bytes rb_objspace::counters

Definition at line 627 of file default.c.

◆ current_record

gc_profile_record* rb_objspace::current_record

Definition at line 710 of file default.c.

◆ dont_gc

unsigned int rb_objspace::dont_gc

Definition at line 651 of file default.c.

◆ dont_incremental

unsigned int rb_objspace::dont_incremental

Definition at line 654 of file default.c.

◆ during_compacting

unsigned int rb_objspace::during_compacting

Definition at line 657 of file default.c.

◆ during_gc

unsigned int rb_objspace::during_gc

Definition at line 655 of file default.c.

◆ during_global_gc

unsigned int rb_objspace::during_global_gc

Definition at line 656 of file default.c.

◆ during_incremental_marking

unsigned int rb_objspace::during_incremental_marking

Definition at line 661 of file default.c.

◆ during_minor_gc

unsigned int rb_objspace::during_minor_gc

Definition at line 660 of file default.c.

◆ during_postmortem

unsigned int rb_objspace::during_postmortem

Definition at line 662 of file default.c.

◆ during_reference_updating

unsigned int rb_objspace::during_reference_updating

Definition at line 659 of file default.c.

◆ empty_pages

struct heap_page* rb_objspace::empty_pages

Definition at line 670 of file default.c.

◆ empty_pages_count

size_t rb_objspace::empty_pages_count

Definition at line 669 of file default.c.

◆ finalizer_table

st_table* rb_objspace::finalizer_table

Definition at line 704 of file default.c.

◆ finalizing

rb_atomic_t rb_objspace::finalizing

Definition at line 673 of file default.c.

◆ gc_lock_barrier

unsigned int rb_objspace::gc_lock_barrier

Definition at line 658 of file default.c.

◆ gc_mark_phase_wall_start_time

rb_hrtime_t rb_objspace::gc_mark_phase_wall_start_time

Definition at line 753 of file default.c.

◆ gc_pause_start_time

rb_hrtime_t rb_objspace::gc_pause_start_time

Definition at line 750 of file default.c.

◆ gc_stop_time

rb_hrtime_t rb_objspace::gc_stop_time

Definition at line 752 of file default.c.

◆ gc_stw_start_time

rb_hrtime_t rb_objspace::gc_stw_start_time

Definition at line 751 of file default.c.

◆ gc_sweep_excluded_wall_time

rb_hrtime_t rb_objspace::gc_sweep_excluded_wall_time

Definition at line 749 of file default.c.

◆ gc_sweep_phase_wall_start_time

rb_hrtime_t rb_objspace::gc_sweep_phase_wall_start_time

Definition at line 754 of file default.c.

◆ gc_sweep_start_time

double rb_objspace::gc_sweep_start_time

Definition at line 746 of file default.c.

◆ gc_sweep_wall_start_time

rb_hrtime_t rb_objspace::gc_sweep_wall_start_time

Definition at line 748 of file default.c.

◆ gc_wall_start_time

rb_hrtime_t rb_objspace::gc_wall_start_time

Definition at line 747 of file default.c.

◆ heaps

rb_heap_t rb_objspace::heaps[HEAP_COUNT]

Definition at line 668 of file default.c.

◆ hook_events

rb_event_flag_t rb_objspace::hook_events

Definition at line 666 of file default.c.

◆ immediate_sweep

unsigned int rb_objspace::immediate_sweep

Definition at line 650 of file default.c.

◆ incremental_mark_step_allocated_slots

size_t rb_objspace::incremental_mark_step_allocated_slots

Definition at line 680 of file default.c.

◆ invoke_time

double rb_objspace::invoke_time

Definition at line 720 of file default.c.

◆ invoke_wall_time

rb_hrtime_t rb_objspace::invoke_wall_time

Definition at line 721 of file default.c.

◆ last_cycle_pinned

unsigned char rb_objspace::last_cycle_pinned

Definition at line 688 of file default.c.

◆ last_major_gc

size_t rb_objspace::last_major_gc

Definition at line 777 of file default.c.

◆ latest_gc_info

unsigned int rb_objspace::latest_gc_info

Definition at line 708 of file default.c.

◆ limit

size_t rb_objspace::limit

Definition at line 637 of file default.c.

◆ lock

rb_nativethread_lock_t rb_objspace::lock

Definition at line 632 of file default.c.

◆ major_gc_count

size_t rb_objspace::major_gc_count

Definition at line 724 of file default.c.

◆ mark_stack

mark_stack_t rb_objspace::mark_stack

Definition at line 676 of file default.c.

◆ marked_slots

size_t rb_objspace::marked_slots

Definition at line 677 of file default.c.

◆ marking_start_time

struct timespec rb_objspace::marking_start_time

Definition at line 763 of file default.c.

◆ marking_time_ns

unsigned long long rb_objspace::marking_time_ns

Definition at line 762 of file default.c.

◆ max_records

size_t rb_objspace::max_records

Definition at line 714 of file default.c.

◆ measure_gc

unsigned int rb_objspace::measure_gc

Definition at line 663 of file default.c.

◆ minor_gc_count

size_t rb_objspace::minor_gc_count

Definition at line 723 of file default.c.

◆ mode

unsigned int rb_objspace::mode

Definition at line 649 of file default.c.

◆ moved_count_table

size_t rb_objspace::moved_count_table[T_MASK]

Definition at line 795 of file default.c.

◆ moved_down_count_table

size_t rb_objspace::moved_down_count_table[T_MASK]

Definition at line 797 of file default.c.

◆ moved_up_count_table

size_t rb_objspace::moved_up_count_table[T_MASK]

Definition at line 796 of file default.c.

◆ need_major_gc

int rb_objspace::need_major_gc

Definition at line 776 of file default.c.

◆ next_index

size_t rb_objspace::next_index

Definition at line 711 of file default.c.

◆ old_objects

size_t rb_objspace::old_objects

Definition at line 780 of file default.c.

◆ old_objects_limit

size_t rb_objspace::old_objects_limit

Definition at line 781 of file default.c.

◆ parent_object

VALUE rb_objspace::parent_object

Definition at line 774 of file default.c.

◆ parent_object_old_p

bool rb_objspace::parent_object_old_p

Definition at line 773 of file default.c.

◆ pooled_slots

size_t rb_objspace::pooled_slots

Definition at line 805 of file default.c.

◆ process_stat

rb_objspace::process_stat

Definition at line 831 of file default.c.

◆ read_barrier_faults

size_t rb_objspace::read_barrier_faults

Definition at line 726 of file default.c.

◆ record_count

size_t rb_objspace::record_count

Definition at line 713 of file default.c.

◆ record_sequence

size_t rb_objspace::record_sequence

Definition at line 715 of file default.c.

◆ records

gc_profile_record* rb_objspace::records

Definition at line 709 of file default.c.

◆ run

int rb_objspace::run

Definition at line 707 of file default.c.

◆ shareable_objects

size_t rb_objspace::shareable_objects

Definition at line 685 of file default.c.

◆ shareable_objects_limit

size_t rb_objspace::shareable_objects_limit

Definition at line 686 of file default.c.

◆ size

size_t rb_objspace::size

Definition at line 712 of file default.c.

◆ step_slots

size_t rb_objspace::step_slots

Definition at line 806 of file default.c.

◆ sweeping_start_time

struct timespec rb_objspace::sweeping_start_time

Definition at line 765 of file default.c.

◆ sweeping_time_ns

unsigned long long rb_objspace::sweeping_time_ns

Definition at line 764 of file default.c.

◆ total_moved

size_t rb_objspace::total_moved

Definition at line 798 of file default.c.

◆ uncollectible_wb_unprotected_objects

size_t rb_objspace::uncollectible_wb_unprotected_objects

Definition at line 778 of file default.c.

◆ uncollectible_wb_unprotected_objects_limit

size_t rb_objspace::uncollectible_wb_unprotected_objects_limit

Definition at line 779 of file default.c.

◆ user_gc_disabled

unsigned int rb_objspace::user_gc_disabled

Definition at line 653 of file default.c.

◆ weak_references_count

size_t rb_objspace::weak_references_count

Definition at line 768 of file default.c.


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