Author: Remi Meier <[email protected]>
Branch: card-marking
Changeset: r1224:f88edde120b2
Date: 2014-05-20 18:39 +0200
http://bitbucket.org/pypy/stmgc/changeset/f88edde120b2/
Log: remove invalid assert and fix wrong use of segment-local reference
diff --git a/c7/stm/core.c b/c7/stm/core.c
--- a/c7/stm/core.c
+++ b/c7/stm/core.c
@@ -181,8 +181,6 @@
}
}
else if (write_locks[base_lock_idx] == lock_num) {
- assert(IMPLY(!(obj->stm_flags & GCFLAG_CARDS_SET),
- STM_PSEGMENT->objects_pointing_to_nursery != NULL));
#ifdef STM_TESTS
bool found = false;
LIST_FOREACH_R(STM_PSEGMENT->modified_old_objects, object_t *,
diff --git a/c7/stm/nursery.c b/c7/stm/nursery.c
--- a/c7/stm/nursery.c
+++ b/c7/stm/nursery.c
@@ -383,7 +383,10 @@
} else {
LIST_FOREACH_R(pseg->modified_old_objects, object_t * /*item*/,
{
- if (item->stm_flags & GCFLAG_CARDS_SET) {
+ struct object_s *realobj = (struct object_s *)
+ REAL_ADDRESS(pseg->pub.segment_base, item);
+
+ if (realobj->stm_flags & GCFLAG_CARDS_SET) {
_reset_object_cards(&pseg->pub, item);
}
});
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit