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

Issue 2799863002: [Atomics] use TFJ builtins for atomic add, sub, and, or, and xor (Closed)

Created:
3 years, 8 months ago by aseemgarg
Modified:
3 years, 8 months ago
Reviewers:
Jarin, binji
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-x87-ports_googlegroups.com, v8-ppc-ports_googlegroups.com
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

[Atomics] use TFJ builtins for atomic add, sub, and, or, and xor BUG=v8:4614 R=binji@chromium.org,jarin@chromium.org Review-Url: https://codereview.chromium.org/2799863002 Cr-Commit-Position: refs/heads/master@{#44542} Committed: https://chromium.googlesource.com/v8/v8/+/14be6ae5e1d097a0bdcd94872d16e8fb9be08f2c

Patch Set 1 #

Patch Set 2 : [Atomics] use TFJ builtins for atomic add, sub, and, or, and xor #

Total comments: 12

Patch Set 3 : [Atomics] use TFJ builtins for atomic add, sub, and, or, and xor #

Total comments: 3

Patch Set 4 : [Atomics] use TFJ builtins for atomic add, sub, and, or, and xor #

Patch Set 5 : [Atomics] use TFJ builtins for atomic add, sub, and, or, and xor #

Patch Set 6 : [Atomics] use TFJ builtins for atomic add, sub, and, or, and xor #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+1157 lines, -482 lines) Patch
M src/builtins/builtins-definitions.h View 1 2 3 4 1 chunk +5 lines, -5 lines 0 comments Download
M src/builtins/builtins-sharedarraybuffer.cc View 1 chunk +0 lines, -376 lines 0 comments Download
M src/builtins/builtins-sharedarraybuffer-gen.cc View 1 2 3 4 7 chunks +136 lines, -21 lines 1 comment Download
M src/compiler/arm/code-generator-arm.cc View 1 2 2 chunks +39 lines, -0 lines 0 comments Download
M src/compiler/arm/instruction-selector-arm.cc View 3 chunks +54 lines, -2 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 2 chunks +37 lines, -0 lines 0 comments Download
M src/compiler/arm64/instruction-selector-arm64.cc View 3 chunks +54 lines, -2 lines 0 comments Download
M src/compiler/code-assembler.h View 1 2 3 4 1 chunk +10 lines, -0 lines 0 comments Download
M src/compiler/code-assembler.cc View 1 2 3 4 1 chunk +12 lines, -4 lines 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 1 2 2 chunks +43 lines, -0 lines 0 comments Download
M src/compiler/ia32/instruction-selector-ia32.cc View 1 2 3 4 5 7 chunks +85 lines, -7 lines 0 comments Download
M src/compiler/instruction-codes.h View 1 chunk +25 lines, -0 lines 0 comments Download
M src/compiler/instruction-scheduler.cc View 1 chunk +25 lines, -0 lines 0 comments Download
M src/compiler/instruction-selector.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 chunk +14 lines, -10 lines 0 comments Download
M src/compiler/machine-graph-verifier.cc View 1 2 2 chunks +11 lines, -5 lines 0 comments Download
M src/compiler/machine-operator.h View 2 chunks +11 lines, -3 lines 0 comments Download
M src/compiler/machine-operator.cc View 3 chunks +74 lines, -18 lines 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 1 chunk +25 lines, -0 lines 0 comments Download
M src/compiler/mips/instruction-selector-mips.cc View 1 chunk +10 lines, -0 lines 0 comments Download
M src/compiler/mips64/code-generator-mips64.cc View 1 chunk +25 lines, -0 lines 0 comments Download
M src/compiler/mips64/instruction-selector-mips64.cc View 1 chunk +10 lines, -0 lines 0 comments Download
M src/compiler/opcodes.h View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/ppc/code-generator-ppc.cc View 1 chunk +0 lines, -7 lines 0 comments Download
M src/compiler/ppc/instruction-selector-ppc.cc View 2 chunks +11 lines, -1 line 0 comments Download
M src/compiler/raw-machine-assembler.h View 1 2 1 chunk +11 lines, -4 lines 0 comments Download
M src/compiler/s390/code-generator-s390.cc View 1 chunk +0 lines, -8 lines 0 comments Download
M src/compiler/s390/instruction-selector-s390.cc View 2 chunks +11 lines, -1 line 0 comments Download
M src/compiler/verifier.cc View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 1 2 2 chunks +38 lines, -0 lines 0 comments Download
M src/compiler/x64/instruction-selector-x64.cc View 4 chunks +60 lines, -3 lines 0 comments Download
M src/ia32/assembler-ia32.cc View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M src/objects.h View 1 2 3 4 1 chunk +10 lines, -5 lines 0 comments Download
M src/runtime/runtime.h View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M src/runtime/runtime-atomics.cc View 5 chunks +247 lines, -0 lines 0 comments Download
A test/mjsunit/harmony/atomics-value-check.js View 1 2 3 4 1 chunk +44 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 34 (21 generated)
aseemgarg
3 years, 8 months ago (2017-04-06 01:09:02 UTC) #3
binji
lgtm w/ some minor fixes https://codereview.chromium.org/2799863002/diff/20001/src/builtins/builtins-sharedarraybuffer-gen.cc File src/builtins/builtins-sharedarraybuffer-gen.cc (right): https://codereview.chromium.org/2799863002/diff/20001/src/builtins/builtins-sharedarraybuffer-gen.cc#newcode33 src/builtins/builtins-sharedarraybuffer-gen.cc:33: void BinaryBuiltinCommon(Node* array, Node* ...
3 years, 8 months ago (2017-04-06 19:04:50 UTC) #12
aseemgarg
https://codereview.chromium.org/2799863002/diff/20001/src/builtins/builtins-sharedarraybuffer-gen.cc File src/builtins/builtins-sharedarraybuffer-gen.cc (right): https://codereview.chromium.org/2799863002/diff/20001/src/builtins/builtins-sharedarraybuffer-gen.cc#newcode33 src/builtins/builtins-sharedarraybuffer-gen.cc:33: void BinaryBuiltinCommon(Node* array, Node* index, Node* value, Node* context, ...
3 years, 8 months ago (2017-04-06 21:03:56 UTC) #13
Jarin
lgtm https://codereview.chromium.org/2799863002/diff/40001/src/builtins/builtins-sharedarraybuffer-gen.cc File src/builtins/builtins-sharedarraybuffer-gen.cc (right): https://codereview.chromium.org/2799863002/diff/40001/src/builtins/builtins-sharedarraybuffer-gen.cc#newcode442 src/builtins/builtins-sharedarraybuffer-gen.cc:442: Node* value_integer = ToInteger(context, value); This makes me ...
3 years, 8 months ago (2017-04-07 09:55:48 UTC) #18
binji
https://codereview.chromium.org/2799863002/diff/40001/src/builtins/builtins-sharedarraybuffer-gen.cc File src/builtins/builtins-sharedarraybuffer-gen.cc (right): https://codereview.chromium.org/2799863002/diff/40001/src/builtins/builtins-sharedarraybuffer-gen.cc#newcode442 src/builtins/builtins-sharedarraybuffer-gen.cc:442: Node* value_integer = ToInteger(context, value); On 2017/04/07 09:55:48, Jarin ...
3 years, 8 months ago (2017-04-08 20:23:12 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2799863002/80001
3 years, 8 months ago (2017-04-10 20:21:17 UTC) #22
aseemgarg
https://codereview.chromium.org/2799863002/diff/40001/src/builtins/builtins-sharedarraybuffer-gen.cc File src/builtins/builtins-sharedarraybuffer-gen.cc (right): https://codereview.chromium.org/2799863002/diff/40001/src/builtins/builtins-sharedarraybuffer-gen.cc#newcode442 src/builtins/builtins-sharedarraybuffer-gen.cc:442: Node* value_integer = ToInteger(context, value); Moved the JS calls ...
3 years, 8 months ago (2017-04-10 20:23:38 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_dbg_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_dbg_ng/builds/24258) v8_linux_dbg_ng_triggered on master.tryserver.v8 (JOB_FAILED, ...
3 years, 8 months ago (2017-04-10 20:46:23 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2799863002/100001
3 years, 8 months ago (2017-04-10 23:40:41 UTC) #28
commit-bot: I haz the power
Committed patchset #6 (id:100001) as https://chromium.googlesource.com/v8/v8/+/14be6ae5e1d097a0bdcd94872d16e8fb9be08f2c
3 years, 8 months ago (2017-04-11 00:09:47 UTC) #31
Jarin
https://codereview.chromium.org/2799863002/diff/100001/src/builtins/builtins-sharedarraybuffer-gen.cc File src/builtins/builtins-sharedarraybuffer-gen.cc (right): https://codereview.chromium.org/2799863002/diff/100001/src/builtins/builtins-sharedarraybuffer-gen.cc#newcode217 src/builtins/builtins-sharedarraybuffer-gen.cc:217: Node* value_integer = ToInteger(context, value); I believe this is ...
3 years, 8 months ago (2017-04-11 08:23:16 UTC) #32
binji
On 2017/04/11 at 08:23:16, jarin wrote: > https://codereview.chromium.org/2799863002/diff/100001/src/builtins/builtins-sharedarraybuffer-gen.cc > File src/builtins/builtins-sharedarraybuffer-gen.cc (right): > > https://codereview.chromium.org/2799863002/diff/100001/src/builtins/builtins-sharedarraybuffer-gen.cc#newcode217 ...
3 years, 8 months ago (2017-04-11 18:02:45 UTC) #33
binji
3 years, 8 months ago (2017-04-11 18:38:35 UTC) #34
Message was sent while issue was closed.
On 2017/04/11 at 18:02:45, binji wrote:
> On 2017/04/11 at 08:23:16, jarin wrote:
> >
https://codereview.chromium.org/2799863002/diff/100001/src/builtins/builtins-...
> > File src/builtins/builtins-sharedarraybuffer-gen.cc (right):
> > 
> >
https://codereview.chromium.org/2799863002/diff/100001/src/builtins/builtins-...
> > src/builtins/builtins-sharedarraybuffer-gen.cc:217: Node* value_integer =
ToInteger(context, value);
> > I believe this is incorrect because the spec says the ToInteger has to be
called after the validation and this is observable (if you supply an invalid
index, the tointeger should not be called). See
https://tc39.github.io/ecmascript_sharedmem/shmem.html#Atomics.ReadModifyWrite
> > 
> > Could you write tests that check the order complies with the spec?
> 
> You're right, I wrote a test that breaks this. I'll work with Aseem to follow
up with a fix for this.

Starting on https://codereview.chromium.org/2814753003.

Powered by Google App Engine
This is Rietveld 408576698