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

Issue 1017453007: Subzero: Support non sequentially consistent memory orderings for atomic ops. (Closed)

Created:
5 years, 9 months ago by Jim Stichnoth
Modified:
5 years, 9 months ago
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Subzero: Support non sequentially consistent memory orderings for atomic ops. The actual code lowering is unchanged, but the validation is made less strict to allow the additional orderings. BUG= https://code.google.com/p/nativeclient/issues/detail?id=4029 R=jfb@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=1c335ef464bfb1232e250c537a2f276ca5980857

Patch Set 1 #

Total comments: 20

Patch Set 2 : Code review updates #

Patch Set 3 : Cleanup #

Patch Set 4 : Fix spacing #

Total comments: 6

Patch Set 5 : More code review changes, plus a bug fix #

Patch Set 6 : Add TODO #

Total comments: 2

Patch Set 7 : Use a whitelist instead of blacklist for cmpxchg failure ordering #

Total comments: 2

Patch Set 8 : More cleanup; add tests for non-constant memory orderings #

Total comments: 2

Patch Set 9 : More code review cleanup #

Unified diffs Side-by-side diffs Delta from patch set Stats (+707 lines, -34 lines) Patch
M src/IceGlobalContext.cpp View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M src/IceIntrinsics.h View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -1 line 0 comments Download
M src/IceIntrinsics.cpp View 1 2 3 4 5 6 7 8 1 chunk +67 lines, -3 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 3 4 5 6 7 6 chunks +27 lines, -17 lines 0 comments Download
A tests_lit/llvm2ice_tests/abi-atomics.ll View 1 2 3 4 5 1 chunk +534 lines, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/nacl-atomic-errors.ll View 1 2 3 4 5 6 7 8 chunks +69 lines, -12 lines 0 comments Download

Messages

Total messages: 15 (1 generated)
Jim Stichnoth
5 years, 9 months ago (2015-03-17 14:40:33 UTC) #2
JF
https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp File src/IceIntrinsics.cpp (right): https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp#newcode237 src/IceIntrinsics.cpp:237: uint64_t OrderOther) { Rename to isMemoryOrderValid? https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp#newcode246 src/IceIntrinsics.cpp:246: break; ...
5 years, 9 months ago (2015-03-17 16:00:08 UTC) #3
Jim Stichnoth
Thanks! https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp File src/IceIntrinsics.cpp (right): https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp#newcode237 src/IceIntrinsics.cpp:237: uint64_t OrderOther) { On 2015/03/17 16:00:07, JF wrote: ...
5 years, 9 months ago (2015-03-17 16:44:56 UTC) #4
JF
The testing isn't very thorough... Do you think Subzero could be compared against the translator ...
5 years, 9 months ago (2015-03-17 16:58:53 UTC) #5
Jim Stichnoth
I pulled in the PNaCl abi-atomics.ll test for more comprehensive testing. https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp File src/IceIntrinsics.cpp (right): ...
5 years, 9 months ago (2015-03-17 18:42:05 UTC) #6
jvoung (off chromium)
Small suggestion only. Also agree that at some point this should be moved to somewhere ...
5 years, 9 months ago (2015-03-17 19:05:22 UTC) #7
Jim Stichnoth
https://codereview.chromium.org/1017453007/diff/100001/src/IceIntrinsics.cpp File src/IceIntrinsics.cpp (right): https://codereview.chromium.org/1017453007/diff/100001/src/IceIntrinsics.cpp#newcode259 src/IceIntrinsics.cpp:259: case Intrinsics::MemoryOrderInvalid: On 2015/03/17 19:05:21, jvoung wrote: > Maybe ...
5 years, 9 months ago (2015-03-17 21:05:11 UTC) #8
JF
There's also no test that non-constant-int memory order are rejected. https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp File src/IceIntrinsics.cpp (right): https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp#newcode246 ...
5 years, 9 months ago (2015-03-17 21:18:15 UTC) #9
JF
There's also no test that non-constant-int memory order are rejected.
5 years, 9 months ago (2015-03-17 21:18:15 UTC) #10
Jim Stichnoth
Added a test for non-constant integer memory ordering. https://codereview.chromium.org/1017453007/diff/60001/src/IceIntrinsics.cpp File src/IceIntrinsics.cpp (right): https://codereview.chromium.org/1017453007/diff/60001/src/IceIntrinsics.cpp#newcode268 src/IceIntrinsics.cpp:268: OrderOther ...
5 years, 9 months ago (2015-03-18 00:00:25 UTC) #11
JF
https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp File src/IceIntrinsics.cpp (right): https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp#newcode246 src/IceIntrinsics.cpp:246: break; On 2015/03/17 21:18:14, JF wrote: > > > ...
5 years, 9 months ago (2015-03-18 06:26:30 UTC) #12
Jim Stichnoth
https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp File src/IceIntrinsics.cpp (right): https://codereview.chromium.org/1017453007/diff/1/src/IceIntrinsics.cpp#newcode246 src/IceIntrinsics.cpp:246: break; On 2015/03/18 06:26:30, JF wrote: > On 2015/03/17 ...
5 years, 9 months ago (2015-03-18 13:50:15 UTC) #13
JF
lgtm
5 years, 9 months ago (2015-03-18 15:28:25 UTC) #14
Jim Stichnoth
5 years, 9 months ago (2015-03-18 16:01:58 UTC) #15
Message was sent while issue was closed.
Committed patchset #9 (id:150001) manually as
1c335ef464bfb1232e250c537a2f276ca5980857 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698