Ruby 2.7.0p0(2019-12-25revision647ee6f091eafcce70ffb75ddf7e121e192ab217)

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 during_compacting: 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
VALUE | next_object_id
rb_heap_t | eden_heap
rb_heap_t | tomb_heap
struct {
rb_atomic_t finalizing
} | atomic_flags
struct rb_objspace::mark_func_data_struct * | mark_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_table * | finalizer_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
size_t compact_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_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
size_t oldmalloc_increase
size_t oldmalloc_increase_limit
} | rgengc
struct {
size_t considered_count_table [T_MASK]
size_t moved_count_table [T_MASK]
} | rcompactor
struct {
size_t pooled_slots
size_t step_slots
} | rincgc
st_table * | id_to_obj_tbl
st_table * | obj_to_id_tbl

## Detailed Description

Definition at line 676 of file gc.c.

## Field Documentation

## ◆ allocatable_pages

size_t rb_objspace::allocatable_pages

Definition at line 725 of file gc.c.

## ◆ allocated_pages

size_t rb_objspace::allocated_pages

Definition at line 724 of file gc.c.

## ◆ atomic_flags

struct { ... } rb_objspace::atomic_flags

## ◆ compact_count

size_t rb_objspace::compact_count

Definition at line 753 of file gc.c.

## ◆ considered_count_table

size_t rb_objspace::considered_count_table[T_MASK]

Definition at line 810 of file gc.c.

## ◆ count

size_t rb_objspace::count

Definition at line 779 of file gc.c.

Referenced by rb_gc_count().

## ◆ current_record

gc_profile_record* rb_objspace::current_record

Definition at line 741 of file gc.c.

## ◆ deferred_final

VALUE rb_objspace::deferred_final

Definition at line 732 of file gc.c.

## ◆ dont_gc

unsigned int rb_objspace::dont_gc

Definition at line 689 of file gc.c.

## ◆ dont_incremental

unsigned int rb_objspace::dont_incremental

Definition at line 690 of file gc.c.

## ◆ during_compacting

unsigned int rb_objspace::during_compacting

Definition at line 692 of file gc.c.

## ◆ during_gc

unsigned int rb_objspace::during_gc

Definition at line 691 of file gc.c.

## ◆ during_incremental_marking

unsigned int rb_objspace::during_incremental_marking

Definition at line 699 of file gc.c.

## ◆ during_minor_gc

unsigned int rb_objspace::during_minor_gc

Definition at line 696 of file gc.c.

## ◆ eden_heap

rb_heap_t rb_objspace::eden_heap

Definition at line 707 of file gc.c.

## ◆ final_slots

size_t rb_objspace::final_slots

Definition at line 731 of file gc.c.

## ◆ finalizer_table

st_table* rb_objspace::finalizer_table

Definition at line 735 of file gc.c.

## ◆ finalizing

rb_atomic_t rb_objspace::finalizing

Definition at line 711 of file gc.c.

## ◆ flags

struct { ... } rb_objspace::flags

Referenced by rb_objspace_set_event_hook().

## ◆ freeable_pages

size_t rb_objspace::freeable_pages

Definition at line 728 of file gc.c.

## ◆ gc_stress_mode

VALUE rb_objspace::gc_stress_mode

Definition at line 786 of file gc.c.

## ◆ gc_stressful

unsigned int rb_objspace::gc_stressful

Definition at line 693 of file gc.c.

## ◆ gc_sweep_start_time

double rb_objspace::gc_sweep_start_time

Definition at line 774 of file gc.c.

## ◆ global_list

struct gc_list* rb_objspace::global_list

Definition at line 784 of file gc.c.

## ◆ has_hook

unsigned int rb_objspace::has_hook

Definition at line 694 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 776 of file gc.c.

## ◆ hook_events

rb_event_flag_t rb_objspace::hook_events

Definition at line 703 of file gc.c.

Referenced by rb_objspace_set_event_hook().

## ◆ id_to_obj_tbl

st_table* rb_objspace::id_to_obj_tbl

Definition at line 822 of file gc.c.

Referenced by Init_heap().

## ◆ immediate_sweep

unsigned int rb_objspace::immediate_sweep

Definition at line 688 of file gc.c.

## ◆ increase

size_t rb_objspace::increase

Definition at line 679 of file gc.c.

## ◆ invoke_time

double rb_objspace::invoke_time

Definition at line 748 of file gc.c.

## ◆ last_major_gc

size_t rb_objspace::last_major_gc

Definition at line 792 of file gc.c.

## ◆ latest_gc_info

int rb_objspace::latest_gc_info

Definition at line 739 of file gc.c.

## ◆ limit

size_t rb_objspace::limit

Definition at line 678 of file gc.c.

## ◆ major_gc_count

size_t rb_objspace::major_gc_count

Definition at line 752 of file gc.c.

## ◆ malloc_params

struct { ... } rb_objspace::malloc_params

## ◆ mark_func_data

struct rb_objspace::mark_func_data_struct * rb_objspace::mark_func_data

## ◆ mark_stack

mark_stack_t rb_objspace::mark_stack

Definition at line 719 of file gc.c.

## ◆ marked_slots

size_t rb_objspace::marked_slots

Definition at line 720 of file gc.c.

## ◆ minor_gc_count

size_t rb_objspace::minor_gc_count

Definition at line 751 of file gc.c.

## ◆ mode

unsigned int rb_objspace::mode

Definition at line 687 of file gc.c.

## ◆ moved_count_table

size_t rb_objspace::moved_count_table[T_MASK]

Definition at line 811 of file gc.c.

## ◆ need_major_gc

int rb_objspace::need_major_gc

Definition at line 791 of file gc.c.

## ◆ next_index

size_t rb_objspace::next_index

Definition at line 742 of file gc.c.

## ◆ next_object_id

VALUE rb_objspace::next_object_id

Definition at line 705 of file gc.c.

Referenced by Init_heap().

## ◆ obj_to_id_tbl

st_table* rb_objspace::obj_to_id_tbl

Definition at line 823 of file gc.c.

## ◆ old_objects

size_t rb_objspace::old_objects

Definition at line 795 of file gc.c.

## ◆ old_objects_limit

size_t rb_objspace::old_objects_limit

Definition at line 796 of file gc.c.

## ◆ oldmalloc_increase

size_t rb_objspace::oldmalloc_increase

Definition at line 799 of file gc.c.

## ◆ oldmalloc_increase_limit

size_t rb_objspace::oldmalloc_increase_limit

Definition at line 800 of file gc.c.

## ◆ parent_object

VALUE rb_objspace::parent_object

Definition at line 790 of file gc.c.

## ◆ pooled_slots

size_t rb_objspace::pooled_slots

Definition at line 816 of file gc.c.

## ◆ profile

struct { ... } rb_objspace::profile

Referenced by rb_gc_count(), and rb_objspace_free().

## ◆ range

RVALUE* rb_objspace::range[2]

Definition at line 727 of file gc.c.

## ◆ rcompactor

struct { ... } rb_objspace::rcompactor

## ◆ records

gc_profile_record* rb_objspace::records

Definition at line 740 of file gc.c.

Referenced by rb_objspace_free().

## ◆ rgengc

struct { ... } rb_objspace::rgengc

## ◆ rincgc

struct { ... } rb_objspace::rincgc

## ◆ run

int rb_objspace::run

Definition at line 738 of file gc.c.

## ◆ size

size_t rb_objspace::size

Definition at line 743 of file gc.c.

## ◆ sorted

struct heap_page** rb_objspace::sorted

Definition at line 723 of file gc.c.

## ◆ sorted_length

size_t rb_objspace::sorted_length

Definition at line 726 of file gc.c.

## ◆ step_slots

size_t rb_objspace::step_slots

Definition at line 817 of file gc.c.

## ◆ tomb_heap

rb_heap_t rb_objspace::tomb_heap

Definition at line 708 of file gc.c.

## ◆ total_allocated_objects

size_t rb_objspace::total_allocated_objects

Definition at line 704 of file gc.c.

## ◆ total_allocated_objects_at_gc_start

size_t rb_objspace::total_allocated_objects_at_gc_start

Definition at line 775 of file gc.c.

## ◆ total_allocated_pages

size_t rb_objspace::total_allocated_pages

Definition at line 781 of file gc.c.

## ◆ total_freed_objects

size_t rb_objspace::total_freed_objects

Definition at line 780 of file gc.c.

## ◆ total_freed_pages

size_t rb_objspace::total_freed_pages

Definition at line 782 of file gc.c.

## ◆ uncollectible_wb_unprotected_objects

size_t rb_objspace::uncollectible_wb_unprotected_objects

Definition at line 793 of file gc.c.

## ◆ uncollectible_wb_unprotected_objects_limit

size_t rb_objspace::uncollectible_wb_unprotected_objects_limit

Definition at line 794 of file gc.c.

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

- gc.c