Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r353:617a7397cc2d
Date: 2013-07-06 11:09 +0200
http://bitbucket.org/pypy/stmgc/changeset/617a7397cc2d/

Log:    Kill the undolog. It was done for the purpose of thread-local
        refs, but now this uses 'old_thread_local_obj' playing the role of a
        one-item undolog.

diff --git a/c4/et.c b/c4/et.c
--- a/c4/et.c
+++ b/c4/et.c
@@ -817,20 +817,6 @@
     }
 #endif
 
-#if 0
-  /* run the undo log in reverse order, cancelling the values set by
-     stm_ThreadLocalRef_LLSet(). */
-  if (d->undolog.size > 0) {
-      gcptr *item = d->undolog.items;
-      long i;
-      for (i=d->undolog.size; i>=0; i-=2) {
-          void **addr = (void **)(item[i-2]);
-          void *oldvalue = (void *)(item[i-1]);
-          *addr = oldvalue;
-      }
-  }
-#endif
-
   /* upon abort, set the reads size limit to 94% of how much was read
      so far.  This should ensure that, assuming the retry does the same
      thing, it will commit just before it reaches the conflicting point.
@@ -937,7 +923,6 @@
   d->count_reads = 1;
   fxcache_clear(&d->recent_reads_cache);
 #if 0
-  gcptrlist_clear(&d->undolog);
   gcptrlist_clear(&d->abortinfo);
 #endif
 }
@@ -1496,17 +1481,6 @@
 
 /************************************************************/
 
-#if 0
-void stm_ThreadLocalRef_LLSet(void **addr, void *newvalue)
-{
-  struct tx_descriptor *d = thread_descriptor;
-  gcptrlist_insert2(&d->undolog, (gcptr)addr, (gcptr)*addr);
-  *addr = newvalue;
-}
-#endif
-
-/************************************************************/
-
 struct tx_descriptor *stm_tx_head = NULL;
 struct tx_public_descriptor *stm_descriptor_array[MAX_THREADS] = {0};
 static revision_t descriptor_array_free_list = 0;
@@ -1638,7 +1612,6 @@
 #if 0
     gcptrlist_delete(&d->abortinfo);
     free(d->longest_abort_info);
-    gcptrlist_delete(&d->undolog);
 #endif
 
     int num_aborts = 0, num_spinloops = 0;
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to