diff options
author | Torvald Riegel <triegel@redhat.com> | 2012-10-24 19:52:18 +0000 |
---|---|---|
committer | Torvald Riegel <torvald@gcc.gnu.org> | 2012-10-24 19:52:18 +0000 |
commit | eb00e9592006bb3b5412a4857762e85ea56a8e3f (patch) | |
tree | 619d4edb4e464c8431d95d94d1aa69c7373fc698 /libitm | |
parent | b679c81340ece3ceecbd74d46a1af6fe473813bc (diff) | |
download | gcc-eb00e9592006bb3b5412a4857762e85ea56a8e3f.zip gcc-eb00e9592006bb3b5412a4857762e85ea56a8e3f.tar.gz gcc-eb00e9592006bb3b5412a4857762e85ea56a8e3f.tar.bz2 |
Clarify ABI requirements for data-logging functions.
* libitm.texi: Clarify ABI requirements for data-logging functions.
From-SVN: r192778
Diffstat (limited to 'libitm')
-rw-r--r-- | libitm/ChangeLog | 4 | ||||
-rw-r--r-- | libitm/libitm.texi | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog index af74e97..8f55f4e 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,5 +1,9 @@ 2012-10-24 Torvald Riegel <triegel@redhat.com> + * libitm.texi: Clarify ABI requirements for data-logging functions. + +2012-10-24 Torvald Riegel <triegel@redhat.com> + * retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether it requires serial mode instead of assuming that for certain dispatchs. diff --git a/libitm/libitm.texi b/libitm/libitm.texi index 6cfcaf9..7e5c413 100644 --- a/libitm/libitm.texi +++ b/libitm/libitm.texi @@ -156,6 +156,13 @@ about which memory locations are shared and which are not shared with other threads (i.e., data must be accessed either transactionally or nontransactionally). Otherwise, non-write-through TM algorithms would not work. +For memory locations on the stack, this requirement extends to only the +lifetime of the stack frame that the memory location belongs to (or the +lifetime of the transaction, whichever is shorter). Thus, memory that is +reused for several stack frames could be target of both data logging and +transactional accesses; however, this is harmless because these stack frames' +lifetimes will end before the transaction finishes. + @subsection [No changes] Scatter/gather calls @subsection [No changes] Serial and irrevocable mode @subsection [No changes] Transaction descriptor |