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

Issue 1323463005: [Interpreter] Add support for JS calls. (Closed)

Created:
5 years, 3 months ago by rmcilroy
Modified:
5 years, 3 months ago
CC:
v8-dev, v8-mips-ports_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Interpreter] Add support for JS calls. Adds support for JS calls to the interpreter. In order to support calls from the interpreter, the PushArgsAndCall builtin is added which pushes a sequence of arguments onto the stack and calls builtin::Call. Adds the Call bytecode. MIPS port contributed by akos.palfi@imgtec.com in https://codereview.chromium.org/1334873002/ BUG=v8:4280 LOG=N Committed: https://crrev.com/e7fb233946b990ecbbbd76cc6529f62bd5da64e3 Cr-Commit-Position: refs/heads/master@{#30710}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Remove TF changes and replace with a builtin #

Patch Set 3 : Add VisitCall to bytecode-generator #

Total comments: 4

Patch Set 4 : Review comments #

Patch Set 5 : Add ia32, Arm and Arm64 ports and fix a bug in KeyedLoadProperty #

Patch Set 6 : Rebase #

Patch Set 7 : Fix test failure when callee function is compiled with TF. #

Patch Set 8 : Add MIPS port contributed by akos.palfi@imgtec.com #

Unified diffs Side-by-side diffs Delta from patch set Stats (+758 lines, -27 lines) Patch
M src/arm/builtins-arm.cc View 1 2 3 4 1 chunk +29 lines, -0 lines 0 comments Download
M src/arm/interface-descriptors-arm.cc View 1 2 3 4 1 chunk +12 lines, -0 lines 0 comments Download
M src/arm64/assembler-arm64.cc View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M src/arm64/builtins-arm64.cc View 1 2 3 4 1 chunk +32 lines, -0 lines 0 comments Download
M src/arm64/interface-descriptors-arm64.cc View 1 2 3 4 1 chunk +12 lines, -0 lines 0 comments Download
M src/builtins.h View 1 2 chunks +4 lines, -0 lines 0 comments Download
M src/code-factory.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M src/code-factory.cc View 1 1 chunk +7 lines, -0 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/interpreter-assembler.h View 1 2 3 4 4 chunks +17 lines, -1 line 0 comments Download
M src/compiler/interpreter-assembler.cc View 1 2 3 4 8 chunks +53 lines, -9 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 3 4 1 chunk +35 lines, -0 lines 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 1 2 3 4 1 chunk +12 lines, -0 lines 0 comments Download
M src/interface-descriptors.h View 1 2 2 chunks +7 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-array-builder.h View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 2 2 chunks +14 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-generator.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 2 chunks +55 lines, -11 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 2 2 chunks +4 lines, -0 lines 0 comments Download
M src/interpreter/bytecodes.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 4 1 chunk +16 lines, -0 lines 0 comments Download
M src/mips/builtins-mips.cc View 1 2 3 4 5 6 7 1 chunk +29 lines, -0 lines 0 comments Download
M src/mips/interface-descriptors-mips.cc View 1 2 3 4 5 6 7 1 chunk +12 lines, -0 lines 0 comments Download
M src/mips64/builtins-mips64.cc View 1 2 3 4 5 6 7 1 chunk +29 lines, -0 lines 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 1 2 3 4 5 6 7 1 chunk +12 lines, -0 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 2 3 4 1 chunk +35 lines, -0 lines 0 comments Download
M src/x64/interface-descriptors-x64.cc View 1 2 3 4 1 chunk +12 lines, -0 lines 0 comments Download
M test/cctest/interpreter/test-bytecode-generator.cc View 1 2 3 4 5 4 chunks +86 lines, -3 lines 0 comments Download
M test/cctest/interpreter/test-interpreter.cc View 1 2 3 4 5 6 2 chunks +144 lines, -1 line 0 comments Download
M test/unittests/compiler/interpreter-assembler-unittest.cc View 1 2 3 4 5 chunks +66 lines, -0 lines 0 comments Download
M test/unittests/interpreter/bytecode-array-builder-unittest.cc View 1 2 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 42 (17 generated)
rmcilroy
Hi Benedikt. Here is an in-progress CL which adds support for JS calls to the ...
5 years, 3 months ago (2015-09-04 22:14:48 UTC) #2
Benedikt Meurer
+mstarzinger +jarin
5 years, 3 months ago (2015-09-07 05:05:14 UTC) #5
Benedikt Meurer
Just two very early comments, and one question: You mentioned that it should be possible ...
5 years, 3 months ago (2015-09-07 05:14:30 UTC) #6
rmcilroy
On 2015/09/07 05:14:30, Benedikt Meurer wrote: > Just two very early comments, and one question: ...
5 years, 3 months ago (2015-09-07 09:16:46 UTC) #7
Benedikt Meurer
On 2015/09/07 09:16:46, rmcilroy wrote: > On 2015/09/07 05:14:30, Benedikt Meurer wrote: > > Just ...
5 years, 3 months ago (2015-09-07 16:58:12 UTC) #9
rmcilroy
Ok. Doing the whole handler as native code would add a whole lot more complexity ...
5 years, 3 months ago (2015-09-08 12:58:10 UTC) #10
rmcilroy
Benedikt: I'd like to port this to the other architectures. Before I do so could ...
5 years, 3 months ago (2015-09-10 08:21:16 UTC) #12
Benedikt Meurer
Builtin looks good modulo comment. https://codereview.chromium.org/1323463005/diff/60001/src/x64/builtins-x64.cc File src/x64/builtins-x64.cc (right): https://codereview.chromium.org/1323463005/diff/60001/src/x64/builtins-x64.cc#newcode1795 src/x64/builtins-x64.cc:1795: __ Call(masm->isolate()->builtins()->Call(), RelocInfo::CODE_TARGET); Hm, ...
5 years, 3 months ago (2015-09-10 09:51:34 UTC) #13
Benedikt Meurer
And general approach looks good to me too.
5 years, 3 months ago (2015-09-10 09:52:08 UTC) #14
oth
lgtm. Minor spelling nit, but otherwise comprehensive. https://codereview.chromium.org/1323463005/diff/60001/src/interpreter/bytecode-array-builder.h File src/interpreter/bytecode-array-builder.h (right): https://codereview.chromium.org/1323463005/diff/60001/src/interpreter/bytecode-array-builder.h#newcode71 src/interpreter/bytecode-array-builder.h:71: // |callable|, ...
5 years, 3 months ago (2015-09-10 14:17:28 UTC) #15
rmcilroy
Thanks for the reviews, I'll port to ia32, arm and arm64 now. +v8-mips-ports: Could you ...
5 years, 3 months ago (2015-09-10 14:25:23 UTC) #16
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1323463005/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1323463005/140001
5 years, 3 months ago (2015-09-10 17:02:28 UTC) #19
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_mips64el_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_mips64el_compile_rel/builds/4561)
5 years, 3 months ago (2015-09-10 17:08:23 UTC) #21
akos.palfi.imgtec
Hi Ross - I've uploaded the mips ports: https://codereview.chromium.org/1334873002 However, there's a test failure (cctest/test-interpreter/InterpreterCall) ...
5 years, 3 months ago (2015-09-10 20:14:06 UTC) #23
rmcilroy
Benedikt, all the ports are now complete - could you review / stamp please? On ...
5 years, 3 months ago (2015-09-11 13:36:12 UTC) #24
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1323463005/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1323463005/180001
5 years, 3 months ago (2015-09-11 13:37:18 UTC) #26
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 3 months ago (2015-09-11 14:15:54 UTC) #28
Benedikt Meurer
LGTM (rubber-stamped)
5 years, 3 months ago (2015-09-14 09:09:39 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1323463005/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1323463005/180001
5 years, 3 months ago (2015-09-14 09:18:25 UTC) #32
commit-bot: I haz the power
All required reviewers (with asterisk prefixes) have not yet approved this CL. No L-G-T-M from ...
5 years, 3 months ago (2015-09-14 09:18:29 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1323463005/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1323463005/180001
5 years, 3 months ago (2015-09-14 09:40:24 UTC) #37
commit-bot: I haz the power
Committed patchset #8 (id:180001)
5 years, 3 months ago (2015-09-14 10:05:24 UTC) #38
commit-bot: I haz the power
Patchset 8 (id:??) landed as https://crrev.com/e7fb233946b990ecbbbd76cc6529f62bd5da64e3 Cr-Commit-Position: refs/heads/master@{#30710}
5 years, 3 months ago (2015-09-14 10:05:44 UTC) #39
torbjorng
This CL apparently triggers BUG=532969.
5 years, 3 months ago (2015-09-17 15:37:55 UTC) #41
rmcilroy
5 years, 3 months ago (2015-09-17 15:49:37 UTC) #42
Message was sent while issue was closed.
On 2015/09/17 15:37:55, torbjorng wrote:
> This CL apparently triggers BUG=532969.

Opps, sorry. Fix up for review at https://codereview.chromium.org/1351943002/.

Powered by Google App Engine
This is Rietveld 408576698