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

Issue 2673833003: [interpreter] Create custom call opcodes for specific argument counts (Closed)

Created:
3 years, 10 months ago by danno
Modified:
3 years, 5 months ago
Reviewers:
rmcilroy
CC:
v8-reviews_googlegroups.com, rmcilroy
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[interpreter] Create custom call opcodes for specific argument counts

Patch Set 1 #

Patch Set 2 : Fix 64-bit #

Patch Set 3 : 32- and 64-bit ports #

Total comments: 3

Patch Set 4 : Also support CallProperty #

Patch Set 5 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+319 lines, -53 lines) Patch
M src/compiler/bytecode-graph-builder.h View 1 2 chunks +15 lines, -3 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 4 4 chunks +113 lines, -20 lines 0 comments Download
M src/compiler/code-assembler.cc View 1 2 chunks +3 lines, -1 line 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 2 3 4 1 chunk +19 lines, -2 lines 0 comments Download
M src/interpreter/bytecode-pipeline.h View 1 4 chunks +40 lines, -1 line 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 3 chunks +20 lines, -2 lines 0 comments Download
M src/interpreter/interpreter.h View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 4 4 chunks +96 lines, -21 lines 0 comments Download
M src/interpreter/interpreter-assembler.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M src/interpreter/interpreter-assembler.cc View 1 2 3 4 2 chunks +7 lines, -3 lines 0 comments Download

Messages

Total messages: 2 (1 generated)
rmcilroy
3 years, 10 months ago (2017-02-06 12:20:01 UTC) #2
https://codereview.chromium.org/2673833003/diff/40001/src/interpreter/bytecod...
File src/interpreter/bytecode-array-builder.cc (right):

https://codereview.chromium.org/2673833003/diff/40001/src/interpreter/bytecod...
src/interpreter/bytecode-array-builder.cc:891: OutputCallProperty(callable,
args, args.register_count(), feedback_slot);
Note - you aren't getting any benifit of these handlers for the case were we are
calling named / keyed properties since they end up calling CallProperty instead.
Maybe we could drop CallProperty bytecode for now and rework this so that we
pass whether the call is a property call or not to the bytecode graph builder
via some other mechanism (extra operand or some side-channel in the TFV?)

https://codereview.chromium.org/2673833003/diff/40001/src/interpreter/interpr...
File src/interpreter/interpreter.cc (right):

https://codereview.chromium.org/2673833003/diff/40001/src/interpreter/interpr...
src/interpreter/interpreter.cc:2098: slot_id, type_feedback_vector, receiver);
Could we pull the shared logic out to a common helper function (either here or
in InterpreterAssembler) and just pass in the arity?

https://codereview.chromium.org/2673833003/diff/40001/src/interpreter/interpr...
src/interpreter/interpreter.cc:2137: __ Comment("SetAccumulator");
unintended comment?

Powered by Google App Engine
This is Rietveld 408576698