Ruby
2.4.2p198(2017-09-14revision59899)
|
Data Fields | |
struct heap_page * | prev |
short | total_slots |
short | free_slots |
short | final_slots |
struct { | |
unsigned int before_sweep: 1 | |
unsigned int has_remembered_objects: 1 | |
unsigned int has_uncollectible_shady_objects: 1 | |
unsigned int in_tomb: 1 | |
} | flags |
struct heap_page * | free_next |
RVALUE * | start |
RVALUE * | freelist |
struct heap_page * | next |
bits_t | wb_unprotected_bits [HEAP_PAGE_BITMAP_LIMIT] |
bits_t | mark_bits [HEAP_PAGE_BITMAP_LIMIT] |
bits_t | uncollectible_bits [HEAP_PAGE_BITMAP_LIMIT] |
bits_t | marking_bits [HEAP_PAGE_BITMAP_LIMIT] |
unsigned int heap_page::before_sweep |
Definition at line 665 of file gc.c.
Referenced by gc_page_sweep(), gc_sweep(), and heap_is_swept_object().
short heap_page::final_slots |
Definition at line 663 of file gc.c.
Referenced by finalize_list(), gc_page_sweep(), gc_sweep_step(), and gc_verify_heap_page().
struct { ... } heap_page::flags |
Referenced by gc_page_sweep(), gc_remember_unprotected(), gc_sweep(), gc_verify_heap_page(), gc_verify_heap_pages_(), heap_add_page(), heap_is_swept_object(), heap_pages_free_unused_pages(), newobj_init(), newobj_slowpath(), rgengc_mark_and_rememberset_clear(), rgengc_rememberset_mark(), and rgengc_remembersetbits_set().
struct heap_page* heap_page::free_next |
Definition at line 671 of file gc.c.
Referenced by gc_sweep_step(), heap_add_freepage(), heap_add_poolpage(), heap_get_freeobj_from_next_freepage(), and heap_move_pooled_pages_to_free_pages().
short heap_page::free_slots |
Definition at line 662 of file gc.c.
Referenced by finalize_list(), gc_marks_continue(), gc_page_sweep(), gc_sweep_step(), gc_verify_heap_page(), heap_add_poolpage(), heap_get_freeobj_from_next_freepage(), heap_page_allocate(), and heap_pages_free_unused_pages().
RVALUE* heap_page::freelist |
Definition at line 673 of file gc.c.
Referenced by gc_sweep_start_heap(), heap_add_freepage(), heap_add_poolpage(), heap_get_freeobj_from_next_freepage(), heap_page_add_freeobj(), and heap_page_resurrect().
unsigned int heap_page::has_remembered_objects |
Definition at line 666 of file gc.c.
Referenced by gc_verify_heap_page(), gc_verify_heap_pages_(), rgengc_mark_and_rememberset_clear(), rgengc_rememberset_mark(), and rgengc_remembersetbits_set().
unsigned int heap_page::has_uncollectible_shady_objects |
Definition at line 667 of file gc.c.
Referenced by gc_remember_unprotected(), gc_verify_heap_page(), rgengc_mark_and_rememberset_clear(), and rgengc_rememberset_mark().
unsigned int heap_page::in_tomb |
Definition at line 668 of file gc.c.
Referenced by heap_add_page(), and heap_pages_free_unused_pages().
bits_t heap_page::mark_bits[HEAP_PAGE_BITMAP_LIMIT] |
Definition at line 680 of file gc.c.
Referenced by gc_marks_wb_unprotected_objects(), gc_page_sweep(), gc_setup_mark_bits(), and rgengc_mark_and_rememberset_clear().
bits_t heap_page::marking_bits[HEAP_PAGE_BITMAP_LIMIT] |
Definition at line 683 of file gc.c.
Referenced by rgengc_mark_and_rememberset_clear(), rgengc_rememberset_mark(), and rgengc_remembersetbits_set().
struct heap_page* heap_page::next |
Definition at line 674 of file gc.c.
Referenced by free_stack_chunks(), gc_marks_wb_unprotected_objects(), gc_sweep(), gc_sweep_step(), gc_verify_heap_pages_(), heap_add_page(), heap_page_resurrect(), heap_unlink_page(), push_mark_stack_chunk(), rgengc_mark_and_rememberset_clear(), and rgengc_rememberset_mark().
struct heap_page* heap_page::prev |
Definition at line 660 of file gc.c.
Referenced by heap_add_page(), heap_unlink_page(), and pop_mark_stack_chunk().
RVALUE* heap_page::start |
Definition at line 672 of file gc.c.
Referenced by count_objects(), gc_mark_locations(), gc_marks_wb_unprotected_objects(), gc_page_sweep(), gc_verify_heap_page(), heap_page_allocate(), heap_page_free(), is_pointer_to_heap(), objspace_each_objects(), and rgengc_rememberset_mark().
short heap_page::total_slots |
Definition at line 661 of file gc.c.
Referenced by count_objects(), gc_marks_finish(), gc_page_sweep(), gc_sweep_step(), gc_verify_heap_page(), heap_add_page(), heap_page_allocate(), heap_pages_free_unused_pages(), heap_unlink_page(), is_pointer_to_heap(), and objspace_each_objects().
bits_t heap_page::uncollectible_bits[HEAP_PAGE_BITMAP_LIMIT] |
Definition at line 682 of file gc.c.
Referenced by gc_remember_unprotected(), gc_setup_mark_bits(), rgengc_mark_and_rememberset_clear(), rgengc_rememberset_mark(), and RVALUE_PAGE_OLD_UNCOLLECTIBLE_SET().
bits_t heap_page::wb_unprotected_bits[HEAP_PAGE_BITMAP_LIMIT] |
Definition at line 677 of file gc.c.
Referenced by gc_marks_wb_unprotected_objects(), and rgengc_rememberset_mark().