aboutsummaryrefslogtreecommitdiff
path: root/libitm/local.cc
diff options
context:
space:
mode:
authorTorvald Riegel <triegel@redhat.com>2012-01-13 23:45:42 +0000
committerTorvald Riegel <torvald@gcc.gnu.org>2012-01-13 23:45:42 +0000
commitaab74ee9d400976da7107d9554e3fa7b665160d4 (patch)
tree803f55638005c5547011fe54e4030d6a5ba9bd6f /libitm/local.cc
parent07b6642b935e1cd499a2aae071db06d845e39a8b (diff)
downloadgcc-aab74ee9d400976da7107d9554e3fa7b665160d4.zip
gcc-aab74ee9d400976da7107d9554e3fa7b665160d4.tar.gz
gcc-aab74ee9d400976da7107d9554e3fa7b665160d4.tar.bz2
libitm: Truncate undo log after rolling back.
libitm/ * local.cc (GTM::gtm_undolog::rollback): Truncate undo log after rolling back. * containers.h (GTM::vector::set_size): New. From-SVN: r183173
Diffstat (limited to 'libitm/local.cc')
-rw-r--r--libitm/local.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/libitm/local.cc b/libitm/local.cc
index 5645a12..d0d96ce 100644
--- a/libitm/local.cc
+++ b/libitm/local.cc
@@ -61,6 +61,7 @@ gtm_undolog::rollback (gtm_thread* tx, size_t until_size)
if (likely(ptr > top || (uint8_t*)ptr + len <= bot))
__builtin_memcpy (ptr, &undolog[i], len);
}
+ undolog.set_size(until_size);
}
}