[pypy-commit] stmgc default: uhm, I guess we forgot to update this place when changing the indexing method in card marking

Raemi noreply at buildbot.pypy.org
Fri Aug 29 11:24:12 CEST 2014


Author: Remi Meier <remi.meier at inf.ethz.ch>
Branch: 
Changeset: r1324:386289f8c74b
Date: 2014-08-29 11:24 +0200
http://bitbucket.org/pypy/stmgc/changeset/386289f8c74b/

Log:	uhm, I guess we forgot to update this place when changing the
	indexing method in card marking

diff --git a/c7/stm/nursery.c b/c7/stm/nursery.c
--- a/c7/stm/nursery.c
+++ b/c7/stm/nursery.c
@@ -288,6 +288,9 @@
 
     struct object_s *realobj = (struct object_s *)REAL_ADDRESS(STM_SEGMENT->segment_base, obj);
     size_t size = stmcb_size_rounded_up(realobj);
+    uintptr_t offset_itemsize[2];
+    stmcb_get_card_base_itemsize(realobj, offset_itemsize);
+    size = (size - offset_itemsize[0]) / offset_itemsize[1];
 
     uintptr_t first_card_index = get_write_lock_idx((uintptr_t)obj);
     uintptr_t card_index = 1;
@@ -310,7 +313,6 @@
                      obj, start, stop));
             stmcb_trace_cards(realobj, &minor_trace_if_young,
                               start, stop);
-
         }
 
         /* all cards should be cleared on overflow objs */


More information about the pypy-commit mailing list