[pypy-commit] stmgc c8-binary-trx-length-per-thread: Move transaction length update on abort
tobweber
pypy.commits at gmail.com
Fri Aug 4 05:53:50 EDT 2017
Author: Tobias Weber <tobias_weber89 at gmx.de>
Branch: c8-binary-trx-length-per-thread
Changeset: r2149:aa5b73c18b88
Date: 2017-07-14 12:49 +0200
http://bitbucket.org/pypy/stmgc/changeset/aa5b73c18b88/
Log: Move transaction length update on abort
diff --git a/c8/stm/core.c b/c8/stm/core.c
--- a/c8/stm/core.c
+++ b/c8/stm/core.c
@@ -1552,8 +1552,6 @@
did_abort = 1;
#endif
- stm_transaction_length_handle_validation(pseg->pub.running_thread, true);
-
list_clear(pseg->objects_pointing_to_nursery);
list_clear(pseg->old_objects_with_cards_set);
LIST_FOREACH_R(pseg->large_overflow_objects, uintptr_t /*item*/,
@@ -1584,6 +1582,8 @@
tl->self_or_0_if_atomic = (intptr_t)tl; /* clear the 'atomic' flag */
STM_PSEGMENT->atomic_nesting_levels = 0;
+ stm_transaction_length_handle_validation(tl, true);
+
if (tl->mem_clear_on_abort)
memset(tl->mem_clear_on_abort, 0, tl->mem_bytes_to_clear_on_abort);
if (tl->mem_reset_on_abort) {
More information about the pypy-commit
mailing list