rb_objspace Struct Reference

## Data Fields

struct {
size_t limit
size_t increase
} | malloc_params
struct {
size_t increment
struct heaps_slot * ptr
struct heaps_slot * sweep_slots
struct sorted_heaps_slot * sorted
size_t length
size_t used
RVALUE * freelist
RVALUE * range [2]
RVALUE * freed
size_t live_num
size_t free_num
size_t free_min
size_t final_num
size_t do_heap_free
} | heap
struct {
int dont_gc
int dont_lazy_sweep
int during_gc
} | flags
struct {
st_table * table
RVALUE * deferred
} | final
struct {
VALUE buffer [MARK_STACK_MAX]
VALUE * ptr
int overflow
} | markstack
struct {
int run
gc_profile_record * record
size_t count
size_t size
double invoke_time
} | profile
struct gc_list * | global_list
int | gc_stress

## Detailed Description

Definition at line 324 of file gc.c.

## Field Documentation

VALUE rb_objspace::buffer[MARK_STACK_MAX]

Definition at line 359 of file gc.c.

size_t rb_objspace::count

Definition at line 366 of file gc.c.

Referenced by gc_marks(), gc_profile_clear(), gc_profile_record_get(), gc_profile_result(), gc_profile_total_time(), and gc_stat().

RVALUE* rb_objspace::deferred

Definition at line 356 of file gc.c.

size_t rb_objspace::do_heap_free

Definition at line 347 of file gc.c.

Referenced by before_gc_sweep(), and slot_sweep().

int rb_objspace::dont_gc

Definition at line 350 of file gc.c.

int rb_objspace::dont_lazy_sweep

Definition at line 351 of file gc.c.

Referenced by gc_lazy_sweep(), and lazy_sweep_enable().

int rb_objspace::during_gc

Definition at line 352 of file gc.c.

struct { ... } rb_objspace::final

size_t rb_objspace::final_num

Definition at line 346 of file gc.c.

Referenced by gc_stat(), run_final(), and slot_sweep().

struct { ... } rb_objspace::flags

Referenced by gc_lazy_sweep(), and lazy_sweep_enable().

size_t rb_objspace::free_min

Definition at line 345 of file gc.c.

Referenced by after_gc_sweep(), before_gc_sweep(), and gc_lazy_sweep().

size_t rb_objspace::free_num

Definition at line 344 of file gc.c.

Referenced by after_gc_sweep(), assign_heap_slot(), before_gc_sweep(), gc_stat(), and slot_sweep().

RVALUE* rb_objspace::freed

Definition at line 342 of file gc.c.

RVALUE* rb_objspace::freelist

Definition at line 340 of file gc.c.

int rb_objspace::gc_stress

Definition at line 372 of file gc.c.

struct gc_list* rb_objspace::global_list

Definition at line 370 of file gc.c.

struct { ... } rb_objspace::heap

Referenced by after_gc_sweep(), allocate_sorted_heaps(), assign_heap_slot(), before_gc_sweep(), count_objects(), finalize_list(), free_unused_heaps(), gc_lazy_sweep(), gc_mark(), gc_mark_all(), gc_mark_children(), gc_marks(), gc_stat(), gc_sweep(), is_pointer_to_heap(), lazy_sweep(), objspace_each_objects(), rb_objspace_call_finalizer(), rb_objspace_free(), rest_sweep(), run_final(), slot_sweep(), and unlink_heap_slot().

size_t rb_objspace::increase

Definition at line 327 of file gc.c.

size_t rb_objspace::increment

Definition at line 334 of file gc.c.

Referenced by gc_stat().

double rb_objspace::invoke_time

Definition at line 368 of file gc.c.

Referenced by init_heap().

size_t rb_objspace::length

Definition at line 338 of file gc.c.

Referenced by gc_stat().

size_t rb_objspace::limit

Definition at line 326 of file gc.c.

size_t rb_objspace::live_num

Definition at line 343 of file gc.c.

Referenced by after_gc_sweep(), gc_lazy_sweep(), gc_mark(), gc_mark_children(), gc_marks(), and gc_stat().

struct { ... } rb_objspace::malloc_params

Referenced by vm_malloc_fixup(), vm_xfree(), and vm_xrealloc().

struct { ... } rb_objspace::markstack

int rb_objspace::overflow

Definition at line 361 of file gc.c.

struct { ... } rb_objspace::profile

Referenced by gc_profile_clear(), gc_profile_disable(), gc_profile_enable(), gc_profile_enable_get(), gc_profile_record_get(), gc_profile_result(), gc_profile_total_time(), init_heap(), and rb_objspace_free().

struct heaps_slot* rb_objspace::ptr

Definition at line 335 of file gc.c.

Referenced by rb_thread_mark(), thread_free(), thread_memsize(), and vm_memsize().

VALUE* rb_objspace::ptr

Definition at line 360 of file gc.c.

RVALUE* rb_objspace::range[2]

Definition at line 341 of file gc.c.

gc_profile_record* rb_objspace::record

Definition at line 365 of file gc.c.

Referenced by gc_profile_clear(), gc_profile_record_get(), gc_profile_total_time(), and rb_objspace_free().

int rb_objspace::run

Definition at line 364 of file gc.c.

Referenced by gc_profile_disable(), gc_profile_enable(), gc_profile_enable_get(), gc_profile_record_get(), gc_profile_result(), and gc_profile_total_time().

size_t rb_objspace::size

Definition at line 367 of file gc.c.

Referenced by gc_profile_clear().

struct sorted_heaps_slot* rb_objspace::sorted

Definition at line 337 of file gc.c.

Referenced by allocate_sorted_heaps(), assign_heap_slot(), count_objects(), free_unused_heaps(), gc_mark_all(), is_pointer_to_heap(), objspace_each_objects(), rb_objspace_call_finalizer(), and rb_objspace_free().

struct heaps_slot* rb_objspace::sweep_slots

Definition at line 336 of file gc.c.

Referenced by before_gc_sweep(), finalize_list(), gc_lazy_sweep(), gc_sweep(), lazy_sweep(), rest_sweep(), and unlink_heap_slot().

st_table* rb_objspace::table

Definition at line 355 of file gc.c.

size_t rb_objspace::used

Definition at line 339 of file gc.c.

Referenced by gc_stat().

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

- gc.c