Ruby  2.4.2p198(2017-09-14revision59899)
Data Structures | Data Fields
rb_objspace Struct Reference

Data Structures

struct  mark_func_data_struct
 

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   gc_stressful: 1
 
   unsigned int   has_hook: 1
 
   unsigned int   during_minor_gc: 1
 
   unsigned int   during_incremental_marking: 1
 
flags
 
rb_event_flag_t hook_events
 
size_t total_allocated_objects
 
rb_heap_t eden_heap
 
rb_heap_t tomb_heap
 
struct {
   rb_atomic_t   finalizing
 
atomic_flags
 
struct rb_objspace::mark_func_data_structmark_func_data
 
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
 
   RVALUE *   range [2]
 
   size_t   freeable_pages
 
   size_t   final_slots
 
   VALUE   deferred_final
 
heap_pages
 
st_tablefinalizer_table
 
struct {
   int   run
 
   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
 
   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
 
   size_t   total_allocated_pages
 
   size_t   total_freed_pages
 
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
 
   size_t   oldmalloc_increase
 
   size_t   oldmalloc_increase_limit
 
rgengc
 
struct {
   size_t   pooled_slots
 
   size_t   step_slots
 
rincgc
 

Detailed Description

Definition at line 500 of file gc.c.

Field Documentation

◆ allocatable_pages

size_t rb_objspace::allocatable_pages

Definition at line 547 of file gc.c.

◆ allocated_pages

size_t rb_objspace::allocated_pages

Definition at line 546 of file gc.c.

◆ atomic_flags

struct { ... } rb_objspace::atomic_flags

◆ count

size_t rb_objspace::count

◆ current_record

gc_profile_record* rb_objspace::current_record

◆ deferred_final

VALUE rb_objspace::deferred_final

Definition at line 554 of file gc.c.

◆ dont_gc

unsigned int rb_objspace::dont_gc

Definition at line 513 of file gc.c.

◆ dont_incremental

unsigned int rb_objspace::dont_incremental

Definition at line 514 of file gc.c.

Referenced by gc_start(), incremental_enable(), and rb_objspace_call_finalizer().

◆ during_gc

unsigned int rb_objspace::during_gc

Definition at line 515 of file gc.c.

◆ during_incremental_marking

unsigned int rb_objspace::during_incremental_marking

Definition at line 522 of file gc.c.

Referenced by gc_marks_finish(), and gc_start().

◆ during_minor_gc

unsigned int rb_objspace::during_minor_gc

Definition at line 519 of file gc.c.

Referenced by gc_marks_start().

◆ eden_heap

rb_heap_t rb_objspace::eden_heap

Definition at line 529 of file gc.c.

Referenced by rb_objspace_free().

◆ final_slots

size_t rb_objspace::final_slots

Definition at line 553 of file gc.c.

◆ finalizer_table

st_table* rb_objspace::finalizer_table

Definition at line 557 of file gc.c.

◆ finalizing

rb_atomic_t rb_objspace::finalizing

Definition at line 533 of file gc.c.

◆ flags

struct { ... } rb_objspace::flags

◆ freeable_pages

size_t rb_objspace::freeable_pages

Definition at line 550 of file gc.c.

◆ gc_stress_mode

VALUE rb_objspace::gc_stress_mode

Definition at line 607 of file gc.c.

Referenced by gc_stress_set().

◆ gc_stressful

unsigned int rb_objspace::gc_stressful

Definition at line 516 of file gc.c.

Referenced by gc_stress_set().

◆ gc_sweep_start_time

double rb_objspace::gc_sweep_start_time

Definition at line 595 of file gc.c.

Referenced by gc_prof_sweep_timer_start(), and gc_prof_sweep_timer_stop().

◆ global_list

struct gc_list* rb_objspace::global_list

Definition at line 605 of file gc.c.

◆ has_hook

unsigned int rb_objspace::has_hook

Definition at line 517 of file gc.c.

Referenced by rb_objspace_set_event_hook().

◆ heap_pages

struct { ... } rb_objspace::heap_pages

◆ heap_used_at_gc_start

size_t rb_objspace::heap_used_at_gc_start

Definition at line 597 of file gc.c.

Referenced by gc_prof_set_heap_info(), and gc_start().

◆ hook_events

rb_event_flag_t rb_objspace::hook_events

Definition at line 526 of file gc.c.

Referenced by rb_objspace_set_event_hook().

◆ immediate_sweep

unsigned int rb_objspace::immediate_sweep

Definition at line 512 of file gc.c.

Referenced by gc_start(), and gc_sweep().

◆ increase

size_t rb_objspace::increase

Definition at line 503 of file gc.c.

Referenced by gc_mark_roots().

◆ invoke_time

double rb_objspace::invoke_time

Definition at line 570 of file gc.c.

Referenced by gc_prof_timer_stop(), and Init_heap().

◆ last_major_gc

size_t rb_objspace::last_major_gc

Definition at line 613 of file gc.c.

Referenced by gc_marks_finish(), and gc_marks_start().

◆ latest_gc_info

int rb_objspace::latest_gc_info

◆ limit

size_t rb_objspace::limit

Definition at line 502 of file gc.c.

◆ major_gc_count

size_t rb_objspace::major_gc_count

Definition at line 574 of file gc.c.

Referenced by gc_marks_start(), and gc_stat_internal().

◆ malloc_params

struct { ... } rb_objspace::malloc_params

◆ mark_func_data

struct rb_objspace::mark_func_data_struct * rb_objspace::mark_func_data

Referenced by gc_mark_ptr(), and gc_mark_roots().

◆ mark_stack

mark_stack_t rb_objspace::mark_stack

◆ marked_slots

size_t rb_objspace::marked_slots

◆ minor_gc_count

size_t rb_objspace::minor_gc_count

Definition at line 573 of file gc.c.

Referenced by gc_marks_start(), and gc_stat_internal().

◆ mode

unsigned int rb_objspace::mode

Definition at line 511 of file gc.c.

◆ need_major_gc

int rb_objspace::need_major_gc

Definition at line 612 of file gc.c.

Referenced by gc_marks_finish(), gc_reset_malloc_info(), gc_start(), and gc_sweep_continue().

◆ next_index

size_t rb_objspace::next_index

◆ old_objects

size_t rb_objspace::old_objects

◆ old_objects_limit

size_t rb_objspace::old_objects_limit

Definition at line 617 of file gc.c.

Referenced by gc_marks_finish(), and gc_stat_internal().

◆ oldmalloc_increase

size_t rb_objspace::oldmalloc_increase

◆ oldmalloc_increase_limit

size_t rb_objspace::oldmalloc_increase_limit

Definition at line 621 of file gc.c.

Referenced by gc_reset_malloc_info(), gc_stat_internal(), Init_heap(), and ruby_gc_set_params().

◆ parent_object

VALUE rb_objspace::parent_object

Definition at line 611 of file gc.c.

Referenced by gc_mark_roots(), gc_mark_set_parent(), and rgengc_check_relation().

◆ pooled_slots

size_t rb_objspace::pooled_slots

Definition at line 631 of file gc.c.

Referenced by gc_marks_start(), gc_sweep_start_heap(), and heap_add_poolpage().

◆ profile

struct { ... } rb_objspace::profile

◆ range

RVALUE* rb_objspace::range[2]

Definition at line 549 of file gc.c.

◆ records

gc_profile_record* rb_objspace::records

◆ rgengc

struct { ... } rb_objspace::rgengc

◆ rincgc

struct { ... } rb_objspace::rincgc

◆ run

int rb_objspace::run

◆ size

size_t rb_objspace::size

Definition at line 565 of file gc.c.

Referenced by gc_prof_setup_new_record(), and gc_profile_clear().

◆ sorted

struct heap_page** rb_objspace::sorted

Definition at line 545 of file gc.c.

◆ sorted_length

size_t rb_objspace::sorted_length

Definition at line 548 of file gc.c.

◆ step_slots

size_t rb_objspace::step_slots

Definition at line 632 of file gc.c.

Referenced by gc_marks_continue(), and gc_marks_start().

◆ tomb_heap

rb_heap_t rb_objspace::tomb_heap

Definition at line 530 of file gc.c.

◆ total_allocated_objects

size_t rb_objspace::total_allocated_objects

Definition at line 527 of file gc.c.

Referenced by gc_start(), gc_stat_internal(), newobj_init(), and objspace_live_slots().

◆ total_allocated_objects_at_gc_start

size_t rb_objspace::total_allocated_objects_at_gc_start

Definition at line 596 of file gc.c.

Referenced by gc_prof_set_heap_info(), and gc_start().

◆ total_allocated_pages

size_t rb_objspace::total_allocated_pages

Definition at line 602 of file gc.c.

Referenced by gc_stat_internal(), and heap_page_allocate().

◆ total_freed_objects

size_t rb_objspace::total_freed_objects

◆ total_freed_pages

size_t rb_objspace::total_freed_pages

Definition at line 603 of file gc.c.

Referenced by gc_stat_internal(), and heap_page_free().

◆ uncollectible_wb_unprotected_objects

size_t rb_objspace::uncollectible_wb_unprotected_objects

◆ uncollectible_wb_unprotected_objects_limit

size_t rb_objspace::uncollectible_wb_unprotected_objects_limit

Definition at line 615 of file gc.c.

Referenced by gc_marks_finish(), and gc_stat_internal().


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