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

Issue 2655233002: [turbofan] Introduce JSCallForwardVarargs operator. (Closed)

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

Description

[turbofan] Introduce JSCallForwardVarargs operator. We turn a JSCallFunction node for f.apply(receiver, arguments) into a JSCallForwardVarargs node, when the arguments refers to the arguments of the outermost optimized code object, i.e. not an inlined arguments, and the apply method refers to Function.prototype.apply, and there's no other user of arguments except in frame states. We also replace the arguments node in the graph with a marker for the Deoptimizer similar to Crankshaft to make sure we don't materialize unused arguments just for the sake of deoptimization. We plan to replace this with a saner EscapeAnalysis based solution soon. R=jarin@chromium.org BUG=v8:5267, v8:5726 Review-Url: https://codereview.chromium.org/2655233002 Cr-Commit-Position: refs/heads/master@{#42680} Committed: https://chromium.googlesource.com/v8/v8/+/69747e2658f1de973ba75c60fe31b402bd6031a5

Patch Set 1 #

Patch Set 2 : Fix formatting. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+705 lines, -38 lines) Patch
M src/arm/interface-descriptors-arm.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M src/arm64/interface-descriptors-arm64.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M src/builtins/arm/builtins-arm.cc View 1 1 chunk +66 lines, -0 lines 0 comments Download
M src/builtins/arm64/builtins-arm64.cc View 1 chunk +66 lines, -0 lines 0 comments Download
M src/builtins/builtins.h View 2 chunks +4 lines, -0 lines 0 comments Download
M src/builtins/builtins-call.cc View 2 chunks +11 lines, -1 line 0 comments Download
M src/builtins/ia32/builtins-ia32.cc View 1 chunk +80 lines, -0 lines 0 comments Download
M src/builtins/mips/builtins-mips.cc View 1 chunk +66 lines, -0 lines 0 comments Download
M src/builtins/mips64/builtins-mips64.cc View 1 chunk +66 lines, -0 lines 0 comments Download
M src/builtins/x64/builtins-x64.cc View 7 chunks +84 lines, -19 lines 0 comments Download
M src/code-factory.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/code-factory.cc View 1 chunk +12 lines, -0 lines 0 comments Download
M src/compiler/code-generator.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/compiler/common-operator.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/common-operator.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M src/compiler/instruction.h View 4 chunks +11 lines, -4 lines 0 comments Download
M src/compiler/instruction-selector.cc View 2 chunks +5 lines, -0 lines 0 comments Download
M src/compiler/js-call-reducer.cc View 2 chunks +38 lines, -13 lines 0 comments Download
M src/compiler/js-generic-lowering.cc View 1 chunk +16 lines, -0 lines 0 comments Download
M src/compiler/js-operator.h View 2 chunks +39 lines, -0 lines 0 comments Download
M src/compiler/js-operator.cc View 2 chunks +21 lines, -0 lines 0 comments Download
M src/compiler/js-typed-lowering.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/js-typed-lowering.cc View 2 chunks +30 lines, -0 lines 0 comments Download
M src/compiler/opcodes.h View 2 chunks +2 lines, -0 lines 0 comments Download
M src/compiler/operator-properties.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/typer.cc View 2 chunks +7 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 chunk +0 lines, -1 line 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M src/interface-descriptors.h View 2 chunks +7 lines, -0 lines 0 comments Download
M src/interface-descriptors.cc View 1 chunk +9 lines, -0 lines 0 comments Download
M src/mips/interface-descriptors-mips.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M src/runtime/runtime-compiler.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/x64/interface-descriptors-x64.cc View 1 chunk +7 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (9 generated)
Benedikt Meurer
3 years, 11 months ago (2017-01-26 08:23:38 UTC) #1
Jarin
lgtm
3 years, 11 months ago (2017-01-26 09:27:11 UTC) #8
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/2655233002/20001
3 years, 11 months ago (2017-01-26 09:27:52 UTC) #10
commit-bot: I haz the power
3 years, 11 months ago (2017-01-26 09:30:04 UTC) #13
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/v8/v8/+/69747e2658f1de973ba75c60fe31b402bd6...

Powered by Google App Engine
This is Rietveld 408576698