diff options
author | torvald <torvald@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-13 12:40:34 +0000 |
---|---|---|
committer | torvald <torvald@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-13 12:40:34 +0000 |
commit | 1246355c4c2ed8cd81a6baed380685e32414133a (patch) | |
tree | 0f4bfc83fa01d0a035d86c869e199905d89075cb /libitm/method-gl.cc | |
parent | 2e1cb7c04a9c5336615dfafdee1cb7fc1caf7559 (diff) |
libitm: Fix privatization safety interaction with serial mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232322 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libitm/method-gl.cc')
-rw-r--r-- | libitm/method-gl.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libitm/method-gl.cc b/libitm/method-gl.cc index 87d01dbf1f1d..b2e2bcad71e6 100644 --- a/libitm/method-gl.cc +++ b/libitm/method-gl.cc @@ -338,6 +338,15 @@ public: } + virtual bool snapshot_most_recent() + { + // This is the same check as in validate() except that we do not restart + // on failure but simply return the result. + return o_gl_mg.orec.load(memory_order_relaxed) + == gtm_thr()->shared_state.load(memory_order_relaxed); + } + + CREATE_DISPATCH_METHODS(virtual, ) CREATE_DISPATCH_METHODS_MEM() |