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

ruby-changes:31515

From: tarui <ko1@a...>
Date: Sat, 9 Nov 2013 09:23:08 +0900 (JST)
Subject: [ruby-changes:31515] tarui:r43594 (trunk): * gc.c (gc_page_sweep, rgengc_rememberset_mark): Refactoring.

tarui	2013-11-09 09:23:02 +0900 (Sat, 09 Nov 2013)

  New Revision: 43594

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=43594

  Log:
    * gc.c (gc_page_sweep, rgengc_rememberset_mark): Refactoring.
      Get bitmaps directly.

  Modified files:
    trunk/ChangeLog
    trunk/gc.c
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 43593)
+++ ChangeLog	(revision 43594)
@@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Sat Nov  9 09:22:29 2013  Masaya Tarui  <tarui@r...>
+
+	* gc.c (gc_page_sweep, rgengc_rememberset_mark): Refactoring.
+	  Get bitmaps directly.
+
 Sat Nov  9 09:16:36 2013  Masaya Tarui  <tarui@r...>
 
 	* gc.c (RVALUE_PROMOTE_INFANT): Refactoring. Remove duplicated nonsense
Index: gc.c
===================================================================
--- gc.c	(revision 43593)
+++ gc.c	(revision 43594)
@@ -2662,7 +2662,7 @@ gc_page_sweep(rb_objspace_t *objspace, r https://github.com/ruby/ruby/blob/trunk/gc.c#L2662
 
     p = sweep_page->start; pend = p + sweep_page->limit;
     offset = p - NUM_IN_PAGE(p);
-    bits = GET_HEAP_MARK_BITS(p);
+    bits = sweep_page->mark_bits;
 
     /* create guard : fill 1 out-of-range */
     bits[BITMAP_INDEX(p)] |= BITMAP_BIT(p)-1;
@@ -4478,7 +4478,7 @@ rgengc_rememberset_mark(rb_objspace_t *o https://github.com/ruby/ruby/blob/trunk/gc.c#L4478
 
     while (page) {
 	p = page->start;
-	bits = GET_HEAP_REMEMBERSET_BITS(p);
+	bits = page->rememberset_bits;
 	offset = p - NUM_IN_PAGE(p);
 
 	for (j=0; j < HEAP_BITMAP_LIMIT; j++) {

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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