Author: Armin Rigo <ar...@tunes.org>
Branch: 
Changeset: r157:c6e6c1abc9e2
Date: 2013-06-16 18:37 +0200
http://bitbucket.org/pypy/stmgc/changeset/c6e6c1abc9e2/

Log:    Fix

diff --git a/c4/atomic_ops.h b/c4/atomic_ops.h
--- a/c4/atomic_ops.h
+++ b/c4/atomic_ops.h
@@ -96,13 +96,17 @@
 #endif
 
 
-#define spinlock_acquire(lock, targetvalue)                     \
-    do { if (bool_cas(&(lock), 0, (targetvalue))) break;        \
-         do { smp_spinloop(); } while (ACCESS_ONCE(lock));      \
+#define spinlock_acquire(lock, targetvalue)                             \
+    do { if (bool_cas(&(lock), 0, (targetvalue))) {                     \
+             fprintf(stderr, "<<< locked %d\n", (int)targetvalue);      \
+             break;                                                     \
+         }                                                              \
+         do { smp_spinloop(); } while (ACCESS_ONCE(lock));              \
     } while (1)
 
-#define spinlock_release(lock)                                  \
-    do { smp_wmb(); assert((lock) != 0); (lock) = 0; } while (0)
+#define spinlock_release(lock)                          \
+    do { fprintf(stderr, "unlocked >>>\n"); smp_wmb();  \
+         assert((lock) != 0); (lock) = 0; } while (0)
 
 
 #endif  /* _SRCSTM_ATOMIC_OPS_ */
diff --git a/c4/et.c b/c4/et.c
--- a/c4/et.c
+++ b/c4/et.c
@@ -112,7 +112,8 @@
 
           gcptr P_prev = P;
           P = (gcptr)v;
-          assert(P->h_tid & GCFLAG_PUBLIC);
+          assert((P->h_tid & GCFLAG_PUBLIC) ||
+                 (P_prev->h_tid & GCFLAG_NURSERY_MOVED));
 
           v = ACCESS_ONCE(P->h_revision);
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to