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 2950773002: [turbofan] Introduce new JSCallWithArrayLike operator. (Closed)

Created:
3 years, 6 months ago by Benedikt Meurer
Modified:
3 years, 6 months ago
Reviewers:
petermarshall
CC:
v8-mips-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, v8-reviews_googlegroups.com, v8-x87-ports_googlegroups.com
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Introduce new JSCallWithArrayLike operator. Add a new JSCallWithArrayLike operator that is backed by the CallWithArrayLike builtin, and use that operator for both Function.prototype.apply and Reflect.apply inlining. Also unify the handling of JSCallWithArrayLike and JSCallWithSpread in the JSCallReducer to reduce the copy&paste overhead. Drive-by-fix: Add a lot of test coverage for Reflect.apply and Function.prototype.apply in optimized code, especially for some corner cases, which was missing so far. BUG=v8:4587, v8:5269 R=petermarshall@chromium.org Review-Url: https://codereview.chromium.org/2950773002 Cr-Commit-Position: refs/heads/master@{#46041} Committed: https://chromium.googlesource.com/v8/v8/+/767ce7887130ce47ada53e23682e44637c6ef301

Patch Set 1 #

Total comments: 2

Patch Set 2 : REBASE #

Unified diffs Side-by-side diffs Delta from patch set Stats (+570 lines, -298 lines) Patch
M src/builtins/arm/builtins-arm.cc View 1 3 chunks +7 lines, -29 lines 0 comments Download
M src/builtins/arm64/builtins-arm64.cc View 1 3 chunks +7 lines, -28 lines 0 comments Download
M src/builtins/builtins-call-gen.cc View 1 1 chunk +15 lines, -0 lines 0 comments Download
M src/builtins/ia32/builtins-ia32.cc View 1 3 chunks +7 lines, -29 lines 0 comments Download
M src/builtins/mips/builtins-mips.cc View 1 3 chunks +7 lines, -29 lines 0 comments Download
M src/builtins/mips64/builtins-mips64.cc View 1 3 chunks +7 lines, -29 lines 0 comments Download
M src/builtins/x64/builtins-x64.cc View 1 3 chunks +7 lines, -31 lines 0 comments Download
M src/code-factory.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/code-factory.cc View 1 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/js-call-reducer.h View 2 chunks +5 lines, -1 line 0 comments Download
M src/compiler/js-call-reducer.cc View 12 chunks +213 lines, -121 lines 0 comments Download
M src/compiler/js-generic-lowering.cc View 1 1 chunk +14 lines, -0 lines 0 comments Download
M src/compiler/js-operator.h View 2 chunks +3 lines, -0 lines 0 comments Download
M src/compiler/js-operator.cc View 2 chunks +13 lines, -0 lines 0 comments Download
M src/compiler/opcodes.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/operator-properties.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/typer.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 1 chunk +1 line, -0 lines 0 comments Download
A test/mjsunit/compiler/function-apply.js View 1 chunk +136 lines, -0 lines 0 comments Download
A test/mjsunit/compiler/reflect-apply.js View 1 chunk +114 lines, -0 lines 0 comments Download
M test/mjsunit/messages.js View 1 chunk +1 line, -1 line 0 comments Download

Dependent Patchsets:

Messages

Total messages: 16 (11 generated)
Benedikt Meurer
3 years, 6 months ago (2017-06-20 08:46:54 UTC) #1
petermarshall
LGTM with one comment, thanks https://codereview.chromium.org/2950773002/diff/1/src/compiler/js-call-reducer.cc File src/compiler/js-call-reducer.cc (right): https://codereview.chromium.org/2950773002/diff/1/src/compiler/js-call-reducer.cc#newcode728 src/compiler/js-call-reducer.cc:728: node->opcode() == IrOpcode::kJSConstructWithSpread) { ...
3 years, 6 months ago (2017-06-20 12:21:57 UTC) #10
Benedikt Meurer
https://codereview.chromium.org/2950773002/diff/1/src/compiler/js-call-reducer.cc File src/compiler/js-call-reducer.cc (right): https://codereview.chromium.org/2950773002/diff/1/src/compiler/js-call-reducer.cc#newcode728 src/compiler/js-call-reducer.cc:728: node->opcode() == IrOpcode::kJSConstructWithSpread) { I thought about it, but ...
3 years, 6 months ago (2017-06-20 12:34:41 UTC) #11
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/2950773002/20001
3 years, 6 months ago (2017-06-20 12:34:56 UTC) #13
commit-bot: I haz the power
3 years, 6 months ago (2017-06-20 12:36:52 UTC) #16
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/v8/v8/+/767ce7887130ce47ada53e23682e44637c6...

Powered by Google App Engine
This is Rietveld 408576698