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

Issue 1645763003: [Interpreter] TurboFan implementation of intrinsics. (Closed)

Created:
4 years, 10 months ago by epertoso
Modified:
4 years, 9 months ago
CC:
Benedikt Meurer, oth, rmcilroy, v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Interpreter] TurboFan implementation of intrinsics. Introduces a bytecode whose handler executes the equivalent of %_IsArray and %_IsJSReceiver without a runtime call. BUG=v8:4822 LOG=y Committed: https://crrev.com/d158bf14b34c5679fec3e0031da9ea8bdd3ec498 Cr-Commit-Position: refs/heads/master@{#34983}

Patch Set 1 #

Total comments: 7

Patch Set 2 : Update. #

Patch Set 3 : Update. #

Total comments: 18

Patch Set 4 : Update #

Total comments: 14

Patch Set 5 : Update. #

Patch Set 6 : Update with tests. #

Patch Set 7 : Update #

Total comments: 3

Patch Set 8 : Update. #

Patch Set 9 : Update. #

Patch Set 10 : Update. #

Patch Set 11 : Fixes the debug code as well. #

Patch Set 12 : Merged with oth@'s changes. #

Total comments: 2

Patch Set 13 : Merged with oth@'s changes. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+632 lines, -166 lines) Patch
M BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M src/bailout-reason.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +4 lines, -0 lines 0 comments Download
M src/compiler/bytecode-graph-builder.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +14 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +6 lines, -3 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -0 lines 0 comments Download
M src/interpreter/bytecodes.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -1 line 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +18 lines, -0 lines 0 comments Download
A src/interpreter/interpreter-intrinsics.h View 1 2 3 4 1 chunk +62 lines, -0 lines 0 comments Download
A src/interpreter/interpreter-intrinsics.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +159 lines, -0 lines 0 comments Download
M test/cctest/cctest.gyp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M test/cctest/compiler/test-run-bytecode-graph-builder.cc View 1 2 1 chunk +22 lines, -0 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ForOf.golden View 1 2 3 4 5 6 7 8 9 10 11 8 chunks +8 lines, -8 lines 0 comments Download
A test/cctest/interpreter/interpreter-tester.h View 1 2 3 4 5 6 7 8 1 chunk +128 lines, -0 lines 0 comments Download
A test/cctest/interpreter/interpreter-tester.cc View 1 2 3 4 5 1 chunk +79 lines, -0 lines 0 comments Download
M test/cctest/interpreter/test-interpreter.cc View 1 2 3 4 5 6 7 8 9 3 chunks +19 lines, -154 lines 0 comments Download
A test/cctest/interpreter/test-interpreter-intrinsics.cc View 1 2 3 4 5 6 7 1 chunk +96 lines, -0 lines 0 comments Download
M test/unittests/interpreter/bytecode-array-builder-unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M tools/gyp/v8.gyp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 49 (22 generated)
epertoso
4 years, 10 months ago (2016-01-29 09:50:04 UTC) #1
oth
Cool, thanks for sharing. A few comments below, but think this is a useful direction. ...
4 years, 10 months ago (2016-02-01 09:52:33 UTC) #3
rmcilroy
Cool stuff. I have overarching thoughts on the design. I'm happy to chat about these ...
4 years, 10 months ago (2016-02-01 11:04:44 UTC) #5
epertoso
On 2016/02/01 at 11:04:44, rmcilroy wrote: > Cool stuff. I have overarching thoughts on the ...
4 years, 9 months ago (2016-03-03 11:19:52 UTC) #7
epertoso
https://codereview.chromium.org/1645763003/diff/1/src/compiler/interpreter-assembler.cc File src/compiler/interpreter-assembler.cc (right): https://codereview.chromium.org/1645763003/diff/1/src/compiler/interpreter-assembler.cc#newcode719 src/compiler/interpreter-assembler.cc:719: /* return_values[2] = On 2016/02/01 at 09:52:33, oth wrote: ...
4 years, 9 months ago (2016-03-03 11:20:40 UTC) #8
rmcilroy
Sorry for the delay, I've been traveling. Overall looking good - thanks for addressing the ...
4 years, 9 months ago (2016-03-05 04:21:46 UTC) #9
epertoso
https://codereview.chromium.org/1645763003/diff/40001/src/interpreter/bytecode-array-builder.cc File src/interpreter/bytecode-array-builder.cc (right): https://codereview.chromium.org/1645763003/diff/40001/src/interpreter/bytecode-array-builder.cc#newcode1127 src/interpreter/bytecode-array-builder.cc:1127: Bytecode bytecode = IntrinsicsHelper::IsSupported(function_id) On 2016/03/05 at 04:21:46, rmcilroy ...
4 years, 9 months ago (2016-03-07 11:26:36 UTC) #10
rmcilroy
Thanks, LGTM, but please file a tracking bug and add it to the description. https://codereview.chromium.org/1645763003/diff/60001/src/bailout-reason.h ...
4 years, 9 months ago (2016-03-08 11:19:31 UTC) #12
epertoso
https://codereview.chromium.org/1645763003/diff/60001/src/bailout-reason.h File src/bailout-reason.h (right): https://codereview.chromium.org/1645763003/diff/60001/src/bailout-reason.h#newcode268 src/bailout-reason.h:268: "Wrong number of argument for intrinsic") \ On 2016/03/08 ...
4 years, 9 months ago (2016-03-08 14:11:09 UTC) #13
rmcilroy
https://codereview.chromium.org/1645763003/diff/60001/src/interpreter/interpreter-intrinsics.cc File src/interpreter/interpreter-intrinsics.cc (right): https://codereview.chromium.org/1645763003/diff/60001/src/interpreter/interpreter-intrinsics.cc#newcode22 src/interpreter/interpreter-intrinsics.cc:22: return true; On 2016/03/08 14:11:09, epertoso wrote: > On ...
4 years, 9 months ago (2016-03-08 16:09:43 UTC) #15
epertoso
Added the tests.
4 years, 9 months ago (2016-03-10 14:15:48 UTC) #17
rmcilroy
Great stuff, lgtm, thanks! https://codereview.chromium.org/1645763003/diff/120001/test/cctest/interpreter/test-interpreter-intrinsics.cc File test/cctest/interpreter/test-interpreter-intrinsics.cc (right): https://codereview.chromium.org/1645763003/diff/120001/test/cctest/interpreter/test-interpreter-intrinsics.cc#newcode26 test/cctest/interpreter/test-interpreter-intrinsics.cc:26: BytecodeArrayBuilder builder(isolate_, zone_, sizeof...(args), 0, ...
4 years, 9 months ago (2016-03-10 17:09:35 UTC) #18
epertoso
+mstarzinger for the changes in src/compiler. https://codereview.chromium.org/1645763003/diff/120001/test/cctest/interpreter/test-interpreter-intrinsics.cc File test/cctest/interpreter/test-interpreter-intrinsics.cc (right): https://codereview.chromium.org/1645763003/diff/120001/test/cctest/interpreter/test-interpreter-intrinsics.cc#newcode26 test/cctest/interpreter/test-interpreter-intrinsics.cc:26: BytecodeArrayBuilder builder(isolate_, zone_, ...
4 years, 9 months ago (2016-03-14 09:58:40 UTC) #21
rmcilroy
https://codereview.chromium.org/1645763003/diff/120001/test/cctest/interpreter/test-interpreter-intrinsics.cc File test/cctest/interpreter/test-interpreter-intrinsics.cc (right): https://codereview.chromium.org/1645763003/diff/120001/test/cctest/interpreter/test-interpreter-intrinsics.cc#newcode26 test/cctest/interpreter/test-interpreter-intrinsics.cc:26: BytecodeArrayBuilder builder(isolate_, zone_, sizeof...(args), 0, 0); On 2016/03/14 09:58:40, ...
4 years, 9 months ago (2016-03-14 10:14:42 UTC) #22
Michael Starzinger
LGTM on the compiler piece, didn't look at the rest.
4 years, 9 months ago (2016-03-14 14:55:56 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1645763003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1645763003/140001
4 years, 9 months ago (2016-03-14 14:56:42 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: v8_win64_rel_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_win64_rel_ng/builds/4424)
4 years, 9 months ago (2016-03-14 15:02:28 UTC) #28
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1645763003/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1645763003/160001
4 years, 9 months ago (2016-03-14 16:21:28 UTC) #30
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm64_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm64_rel/builds/16870)
4 years, 9 months ago (2016-03-14 16:53:04 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1645763003/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1645763003/180001
4 years, 9 months ago (2016-03-21 15:28:20 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1645763003/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1645763003/200001
4 years, 9 months ago (2016-03-21 16:33:33 UTC) #38
commit-bot: I haz the power
Failed to apply patch for BUILD.gn: While running git apply --index -3 -p1; error: patch ...
4 years, 9 months ago (2016-03-21 17:15:35 UTC) #40
rmcilroy
Still lgtm, thanks. https://codereview.chromium.org/1645763003/diff/220001/src/interpreter/bytecodes.h File src/interpreter/bytecodes.h (right): https://codereview.chromium.org/1645763003/diff/220001/src/interpreter/bytecodes.h#newcode226 src/interpreter/bytecodes.h:226: /* Intrinsics */ \ nit - ...
4 years, 9 months ago (2016-03-22 10:58:24 UTC) #42
epertoso
https://codereview.chromium.org/1645763003/diff/220001/src/interpreter/bytecodes.h File src/interpreter/bytecodes.h (right): https://codereview.chromium.org/1645763003/diff/220001/src/interpreter/bytecodes.h#newcode226 src/interpreter/bytecodes.h:226: /* Intrinsics */ \ On 2016/03/22 at 10:58:24, rmcilroy ...
4 years, 9 months ago (2016-03-22 11:11:21 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1645763003/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1645763003/240001
4 years, 9 months ago (2016-03-22 11:11:28 UTC) #46
commit-bot: I haz the power
Committed patchset #13 (id:240001)
4 years, 9 months ago (2016-03-22 11:35:16 UTC) #47
commit-bot: I haz the power
4 years, 9 months ago (2016-03-22 11:36:17 UTC) #49
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/d158bf14b34c5679fec3e0031da9ea8bdd3ec498
Cr-Commit-Position: refs/heads/master@{#34983}

Powered by Google App Engine
This is Rietveld 408576698