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

Issue 2542903003: [Interpreter] Templatize AccumulatorUsage and OperandType for bytecode creation. (Closed)

Created:
4 years ago by rmcilroy
Modified:
4 years ago
CC:
v8-reviews_googlegroups.com, rmcilroy
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Interpreter] Templatize AccumulatorUsage and OperandType for bytecode creation. Templatizes the AccumulatorUsage and OperandType for BytecodeNode creation and BytecodeRegisterOptimizer::PrepareForBytecode. This allows the compiler to statically know whether the bytecode being created accesses the accumulator and what operand types need scaling, avoiding runtime checks in the code. Also removes BytecodeNode::set_bytecode methods. Committed: https://crrev.com/e27b348d1a3258adbbba257c92d6bf31c6c5bf55 Cr-Commit-Position: refs/heads/master@{#41706}

Patch Set 1 #

Patch Set 2 #

Patch Set 3 : Add unittest #

Patch Set 4 : Rebase #

Total comments: 6

Patch Set 5 : Move to named BytecodeNode creators #

Patch Set 6 : Minor tweaks #

Total comments: 2

Patch Set 7 : Remove commented code and rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+339 lines, -216 lines) Patch
M src/interpreter/bytecode-array-builder.h View 1 2 3 4 2 chunks +4 lines, -2 lines 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 2 3 4 5 6 4 chunks +35 lines, -29 lines 0 comments Download
M src/interpreter/bytecode-array-writer.cc View 1 2 3 4 2 chunks +4 lines, -4 lines 0 comments Download
M src/interpreter/bytecode-operands.h View 1 2 2 chunks +44 lines, -11 lines 0 comments Download
M src/interpreter/bytecode-peephole-optimizer.cc View 1 2 3 4 8 chunks +34 lines, -28 lines 0 comments Download
M src/interpreter/bytecode-pipeline.h View 1 2 3 4 5 6 3 chunks +104 lines, -34 lines 0 comments Download
M src/interpreter/bytecode-register-optimizer.h View 1 1 chunk +26 lines, -1 line 0 comments Download
M src/interpreter/bytecode-register-optimizer.cc View 1 2 3 4 3 chunks +4 lines, -30 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 4 5 chunks +22 lines, -36 lines 0 comments Download
M test/unittests/BUILD.gn View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
A test/unittests/interpreter/bytecode-operands-unittest.cc View 1 2 1 chunk +47 lines, -0 lines 0 comments Download
M test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc View 1 2 3 4 1 chunk +3 lines, -2 lines 0 comments Download
M test/unittests/interpreter/bytecode-pipeline-unittest.cc View 1 chunk +0 lines, -30 lines 0 comments Download
M test/unittests/interpreter/bytecode-register-optimizer-unittest.cc View 7 chunks +10 lines, -9 lines 0 comments Download
M test/unittests/unittests.gyp View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 51 (42 generated)
rmcilroy
Mythri / Leszek, PTAL thanks.
4 years ago (2016-12-02 10:47:49 UTC) #16
mythria
lgtm.
4 years ago (2016-12-02 16:59:49 UTC) #23
Leszek Swirski
https://codereview.chromium.org/2542903003/diff/100001/src/interpreter/bytecode-pipeline.h File src/interpreter/bytecode-pipeline.h (right): https://codereview.chromium.org/2542903003/diff/100001/src/interpreter/bytecode-pipeline.h#newcode342 src/interpreter/bytecode-pipeline.h:342: UpdateScaleForOperand(operand_index, operand); Should we now no longer do this, ...
4 years ago (2016-12-05 10:57:42 UTC) #25
rmcilroy
Thanks for the comments, PTAL. https://codereview.chromium.org/2542903003/diff/100001/src/interpreter/bytecode-pipeline.h File src/interpreter/bytecode-pipeline.h (right): https://codereview.chromium.org/2542903003/diff/100001/src/interpreter/bytecode-pipeline.h#newcode342 src/interpreter/bytecode-pipeline.h:342: UpdateScaleForOperand(operand_index, operand); On 2016/12/05 ...
4 years ago (2016-12-09 09:21:05 UTC) #33
Leszek Swirski
lgtm, with one nit https://codereview.chromium.org/2542903003/diff/100001/src/interpreter/bytecode-pipeline.h File src/interpreter/bytecode-pipeline.h (right): https://codereview.chromium.org/2542903003/diff/100001/src/interpreter/bytecode-pipeline.h#newcode342 src/interpreter/bytecode-pipeline.h:342: UpdateScaleForOperand(operand_index, operand); On 2016/12/09 09:21:05, ...
4 years ago (2016-12-12 14:55:41 UTC) #38
rmcilroy
https://codereview.chromium.org/2542903003/diff/100001/src/interpreter/bytecode-pipeline.h File src/interpreter/bytecode-pipeline.h (right): https://codereview.chromium.org/2542903003/diff/100001/src/interpreter/bytecode-pipeline.h#newcode342 src/interpreter/bytecode-pipeline.h:342: UpdateScaleForOperand(operand_index, operand); On 2016/12/12 14:55:41, Leszek Swirski wrote: > ...
4 years ago (2016-12-15 07:52:55 UTC) #43
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/2542903003/180001
4 years ago (2016-12-15 07:53:10 UTC) #46
commit-bot: I haz the power
Committed patchset #7 (id:180001)
4 years ago (2016-12-15 07:55:16 UTC) #49
commit-bot: I haz the power
4 years ago (2016-12-15 07:56:32 UTC) #51
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/e27b348d1a3258adbbba257c92d6bf31c6c5bf55
Cr-Commit-Position: refs/heads/master@{#41706}

Powered by Google App Engine
This is Rietveld 408576698