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

Issue 2949813002: [turbofan] Introduce new JSConstructWithArrayLike 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 JSConstructWithArrayLike operator. Add a new JSConstructWithArrayLike operator that is backed by the ConstructWithArrayLike builtin (similar to what was done before for the JSCallWithArrayLike operator), and use that operator to optimize Reflect.construct inlining in TurboFan. This is handled uniformly with JSConstructWithSpread in the JSCallReducer. Also add missing test coverage for Reflect.construct in optimized code, especially for some interesting corner cases. R=petermarshall@chromium.org BUG=v8:4587, v8:5269 Review-Url: https://codereview.chromium.org/2949813002 Cr-Commit-Position: refs/heads/master@{#46087} Committed: https://chromium.googlesource.com/v8/v8/+/217012973c2ee5c666260ffd9aa3a6ab475f1aa2

Patch Set 1 #

Total comments: 4

Patch Set 2 : Address feedback. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+283 lines, -183 lines) Patch
M src/builtins/arm/builtins-arm.cc View 1 chunk +7 lines, -29 lines 0 comments Download
M src/builtins/arm64/builtins-arm64.cc View 1 chunk +9 lines, -31 lines 0 comments Download
M src/builtins/builtins-call-gen.cc View 1 chunk +26 lines, -0 lines 0 comments Download
M src/builtins/ia32/builtins-ia32.cc View 1 chunk +7 lines, -29 lines 0 comments Download
M src/builtins/mips/builtins-mips.cc View 1 chunk +9 lines, -31 lines 0 comments Download
M src/builtins/mips64/builtins-mips64.cc View 1 chunk +9 lines, -31 lines 0 comments Download
M src/builtins/x64/builtins-x64.cc View 1 chunk +7 lines, -31 lines 0 comments Download
M src/code-stub-assembler.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/code-stub-assembler.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/compiler/js-call-reducer.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/js-call-reducer.cc View 5 chunks +35 lines, -0 lines 0 comments Download
M src/compiler/js-generic-lowering.cc View 1 1 chunk +17 lines, -0 lines 0 comments Download
M src/compiler/js-operator.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/js-operator.cc View 2 chunks +12 lines, -1 line 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/reflect-construct.js View 1 chunk +130 lines, -0 lines 0 comments Download

Messages

Total messages: 17 (11 generated)
Benedikt Meurer
3 years, 6 months ago (2017-06-20 15:05:57 UTC) #1
Benedikt Meurer
Hey Peter, Here's the next part of the puzzle. Mostly mechanical. Please take a look. ...
3 years, 6 months ago (2017-06-21 06:55:11 UTC) #6
petermarshall
LGTM with comments re. CodeFactory and CallableFor https://codereview.chromium.org/2949813002/diff/1/src/builtins/x64/builtins-x64.cc File src/builtins/x64/builtins-x64.cc (right): https://codereview.chromium.org/2949813002/diff/1/src/builtins/x64/builtins-x64.cc#newcode1851 src/builtins/x64/builtins-x64.cc:1851: __ Jump(masm->isolate()->builtins()->ConstructWithArrayLike(), ...
3 years, 6 months ago (2017-06-21 08:46:19 UTC) #7
Benedikt Meurer
https://codereview.chromium.org/2949813002/diff/1/src/builtins/x64/builtins-x64.cc File src/builtins/x64/builtins-x64.cc (right): https://codereview.chromium.org/2949813002/diff/1/src/builtins/x64/builtins-x64.cc#newcode1851 src/builtins/x64/builtins-x64.cc:1851: __ Jump(masm->isolate()->builtins()->ConstructWithArrayLike(), This should be done separately (throughout this ...
3 years, 6 months ago (2017-06-21 12:05:25 UTC) #10
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/2949813002/20001
3 years, 6 months ago (2017-06-21 12:05:43 UTC) #14
commit-bot: I haz the power
3 years, 6 months ago (2017-06-21 12:32:08 UTC) #17
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/v8/v8/+/217012973c2ee5c666260ffd9aa3a6ab475...

Powered by Google App Engine
This is Rietveld 408576698