[pypy-commit] stmgc card-marking: fix and remove unnecessary reset

Raemi noreply at buildbot.pypy.org
Thu May 22 17:56:21 CEST 2014


Author: Remi Meier <remi.meier at inf.ethz.ch>
Branch: card-marking
Changeset: r1240:5b981332f5c7
Date: 2014-05-22 17:55 +0200
http://bitbucket.org/pypy/stmgc/changeset/5b981332f5c7/

Log:	fix and remove unnecessary reset

diff --git a/c7/stm/nursery.c b/c7/stm/nursery.c
--- a/c7/stm/nursery.c
+++ b/c7/stm/nursery.c
@@ -468,16 +468,11 @@
 
         TREE_LOOP_FORWARD(*pseg->young_outside_nursery, item) {
             object_t *obj = (object_t*)item->addr;
-            struct object_s *realobj = (struct object_s *)
-                REAL_ADDRESS(pseg->pub.segment_base, item->addr);
-
-            assert(!_is_in_nursery(obj));
-            if (realobj->stm_flags & GCFLAG_HAS_CARDS)
-                _reset_object_cards(pseg, obj, CARD_CLEAR, false);
-            _cards_cleared_in_object(pseg, obj);
 
             /* mark slot as unread */
-            ((stm_read_marker_t *)(item->addr >> 4))->rm = 0;
+            ((struct stm_read_marker_s *)
+             (pseg->pub.segment_base + (((uintptr_t)obj) >> 4)))->rm = 0;
+
             _stm_large_free(stm_object_pages + item->addr);
         } TREE_LOOP_END;
 


More information about the pypy-commit mailing list