[Bug libitm/51855] improve calculation of stack bottom in libitm's undolog
torvald at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jan 13 23:53:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51855
--- Comment #2 from torvald at gcc dot gnu.org 2012-01-13 23:45:12 UTC ---
Author: torvald
Date: Fri Jan 13 23:45:06 2012
New Revision: 183172
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183172
Log:
libitm: Filter out undo writes that overlap with the libitm stack.
PR libitm/51855
* config/generic/tls.h (GTM::mask_stack_top): New.
(GTM::mask_stack_bottom): Declare.
* config/generic/tls.c (GTM::mask_stack_bottom): New.
* local.cc (gtm_undolog::rollback): Filter out any updates that
overlap the libitm stack. Add current transaction as parameter.
* libitm_i.h (GTM::gtm_undolog::rollback): Adapt.
* beginend.cc (GTM::gtm_thread::rollback): Adapt.
* testsuite/libitm.c/stackundo.c: New test.
Added:
trunk/libitm/testsuite/libitm.c/stackundo.c
Modified:
trunk/libitm/ChangeLog
trunk/libitm/beginend.cc
trunk/libitm/config/generic/tls.cc
trunk/libitm/config/generic/tls.h
trunk/libitm/libitm_i.h
trunk/libitm/local.cc
More information about the Gcc-bugs
mailing list