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