[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]