summaryrefslogtreecommitdiff
path: root/libitm
diff options
context:
space:
mode:
authortorvald <torvald@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-24 19:52:18 +0000
committertorvald <torvald@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-24 19:52:18 +0000
commitae242b250a241e9e82f3dbe21123a8dfc82e06cf (patch)
tree619d4edb4e464c8431d95d94d1aa69c7373fc698 /libitm
parentf0de1163ef09e28e4b13f61214a8b88b10a9090b (diff)
downloadgcc-ae242b250a241e9e82f3dbe21123a8dfc82e06cf.tar.gz
Clarify ABI requirements for data-logging functions.
* libitm.texi: Clarify ABI requirements for data-logging functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192778 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libitm')
-rw-r--r--libitm/ChangeLog4
-rw-r--r--libitm/libitm.texi7
2 files changed, 11 insertions, 0 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index af74e974df1..8f55f4eb327 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 6cfcaf9277d..7e5c413610f 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