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

Reply via email to