ruby-changes:66436
From: Peter <ko1@a...>
Date: Wed, 9 Jun 2021 03:32:05 +0900 (JST)
Subject: [ruby-changes:66436] 9f110ced57 (master): Add multi-heap support to gc_marks_wb_unprotected_objects
https://git.ruby-lang.org/ruby.git/commit/?id=9f110ced57 From 9f110ced578ec944f7f7cbe11ba3519a25adf714 Mon Sep 17 00:00:00 2001 From: Peter Zhu <peter@p...> Date: Tue, 8 Jun 2021 10:45:18 -0400 Subject: Add multi-heap support to gc_marks_wb_unprotected_objects --- gc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gc.c b/gc.c index 892449f..c3157db 100644 --- a/gc.c +++ b/gc.c @@ -7877,11 +7877,11 @@ gc_marks_wb_unprotected_objects_in_plane(rb_objspace_t *objspace, intptr_t p, bi https://github.com/ruby/ruby/blob/trunk/gc.c#L7877 } static void -gc_marks_wb_unprotected_objects(rb_objspace_t *objspace) +gc_marks_wb_unprotected_objects(rb_objspace_t *objspace, rb_heap_t *heap) { struct heap_page *page = 0; - list_for_each(&heap_eden->pages, page, page_node) { + list_for_each(&heap->pages, page, page_node) { bits_t *mark_bits = page->mark_bits; bits_t *wbun_bits = page->wb_unprotected_bits; RVALUE *p = page->start; @@ -7950,7 +7950,7 @@ gc_marks_finish(rb_objspace_t *objspace) https://github.com/ruby/ruby/blob/trunk/gc.c#L7950 objspace->flags.during_incremental_marking = FALSE; /* check children of all marked wb-unprotected objects */ - gc_marks_wb_unprotected_objects(objspace); + gc_marks_wb_unprotected_objects(objspace, heap_eden); } #endif /* GC_ENABLE_INCREMENTAL_MARK */ -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/