]> git.ipfire.org Git - thirdparty/gcc.git/commit - libitm/ChangeLog
libitm: Filter out undo writes that overlap with the libitm stack.
authorTorvald Riegel <triegel@redhat.com>
Fri, 13 Jan 2012 23:45:06 +0000 (23:45 +0000)
committerTorvald Riegel <torvald@gcc.gnu.org>
Fri, 13 Jan 2012 23:45:06 +0000 (23:45 +0000)
commit07b6642b935e1cd499a2aae071db06d845e39a8b
tree8ed0df69ae3d1543fa4811e7cb7e72a8d99333b5
parent4cce1836bde85844781736f0f87b51ae9393da5f
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.

From-SVN: r183172
libitm/ChangeLog
libitm/beginend.cc
libitm/config/generic/tls.cc
libitm/config/generic/tls.h
libitm/libitm_i.h
libitm/local.cc
libitm/testsuite/libitm.c/stackundo.c [new file with mode: 0644]