Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(495)

Issue 2754543006: [arm64] Use exclusive instructions in exchange (Closed)

Created:
3 years, 9 months ago by martyn.capewell
Modified:
3 years, 8 months ago
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[arm64] Use exclusive instructions in exchange Implement load/store exclusive instructions and use in place of acquire/release exclusive. This is a correctness fix, as exchange operations are currently implemented using acquire/release, and these can't be safely mixed with other exclusive access-based atomic operations. BUG=v8:6097

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+442 lines, -95 lines) Patch
M src/arm64/assembler-arm64.h View 1 chunk +18 lines, -0 lines 0 comments Download
M src/arm64/assembler-arm64.cc View 4 chunks +47 lines, -12 lines 0 comments Download
M src/arm64/constants-arm64.h View 2 chunks +16 lines, -1 line 0 comments Download
M src/arm64/decoder-arm64.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/arm64/decoder-arm64-inl.h View 2 chunks +6 lines, -4 lines 1 comment Download
M src/arm64/disasm-arm64.cc View 2 chunks +49 lines, -5 lines 0 comments Download
M src/arm64/instrument-arm64.cc View 2 chunks +55 lines, -30 lines 0 comments Download
M src/arm64/macro-assembler-arm64.h View 2 chunks +21 lines, -15 lines 0 comments Download
M src/arm64/macro-assembler-arm64-inl.h View 2 chunks +2 lines, -2 lines 0 comments Download
M src/arm64/simulator-arm64.cc View 2 chunks +56 lines, -1 line 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 2 chunks +9 lines, -7 lines 0 comments Download
M test/cctest/test-disasm-arm64.cc View 2 chunks +19 lines, -0 lines 0 comments Download
M test/cctest/test-simulator-arm64.cc View 11 chunks +143 lines, -18 lines 0 comments Download

Messages

Total messages: 14 (4 generated)
martyn.capewell
3 years, 9 months ago (2017-03-15 18:09:37 UTC) #2
Benedikt Meurer
Adding jarin@.
3 years, 9 months ago (2017-03-15 18:10:26 UTC) #4
aseemgarg
+binji l-g-t-m. I am not owner for any of these files.
3 years, 9 months ago (2017-03-15 21:43:33 UTC) #6
binji
lgtm https://codereview.chromium.org/2754543006/diff/1/src/arm64/decoder-arm64-inl.h File src/arm64/decoder-arm64-inl.h (right): https://codereview.chromium.org/2754543006/diff/1/src/arm64/decoder-arm64-inl.h#newcode216 src/arm64/decoder-arm64-inl.h:216: if ((instr->Bit(28) == 0) && (instr->Bit(29) == 0) ...
3 years, 9 months ago (2017-03-15 22:17:35 UTC) #7
aseemgarg
Couldn't we replace load and store to use ldaxr and stlxr instead? Seems like acquire/release ...
3 years, 9 months ago (2017-03-16 00:14:54 UTC) #8
martyn.capewell
Yes, I'd like to replace all of them with acquire/release, as that's preferred. However, this ...
3 years, 9 months ago (2017-03-16 11:29:36 UTC) #10
binji
On 2017/03/16 11:29:36, martyn.capewell wrote: > Yes, I'd like to replace all of them with ...
3 years, 9 months ago (2017-03-16 22:06:17 UTC) #11
martyn.capewell
OK, I'll work on a patch to fix ATOMIC_LOAD/STORE instead - it'll just require a ...
3 years, 9 months ago (2017-03-17 14:07:48 UTC) #12
binji
On 2017/03/17 14:07:48, martyn.capewell wrote: > OK, I'll work on a patch to fix ATOMIC_LOAD/STORE ...
3 years, 9 months ago (2017-03-17 18:58:12 UTC) #13
martyn.capewell
3 years, 9 months ago (2017-03-20 17:19:07 UTC) #14

Powered by Google App Engine
This is Rietveld 408576698