Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r49:672596f7b1b6
Date: 2013-05-29 09:51 +0200
http://bitbucket.org/pypy/stmgc/changeset/672596f7b1b6/

Log:    Next fix

diff --git a/c3/et.c b/c3/et.c
--- a/c3/et.c
+++ b/c3/et.c
@@ -166,6 +166,9 @@
 
   if (R->h_tid & GCFLAG_PUBLIC_TO_PRIVATE)
     {
+      if (gcptrlist_size(&d->stolen_objects) > 0)
+        stmgc_normalize_stolen_objects();
+
       wlog_t *entry;
       gcptr L;
       G2L_FIND(d->public_to_private, R, entry, goto not_found);
@@ -818,6 +821,9 @@
           (long)cur_time);
 
   revision_t localrev = stm_local_revision;
+  UpdateProtectedChainHeads(d, cur_time, localrev);
+  smp_wmb();
+
   revision_t newrev = -(cur_time + 1);
   assert(newrev & 1);
   ACCESS_ONCE(stm_local_revision) = newrev;
@@ -825,7 +831,6 @@
   assert(d->local_revision_ref = &stm_local_revision);
 
   UpdateChainHeads(d, cur_time, localrev);
-  UpdateProtectedChainHeads(d, cur_time, localrev);
 
   stmgc_committed_transaction(d);
   d->num_commits++;
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to