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

Issue 2331033002: [interpreter] Merge {OsrPoll} with {Jump} bytecode. (Closed)

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

Description

[interpreter] Merge {OsrPoll} with {Jump} bytecode. This introduces a new {JumpLoop} bytecode to combine the OSR polling mechanism modeled by {OsrPoll} with the actual {Jump} performing the backwards branch. This reduces the overall size and also avoids one additional dispatch. It also makes sure that OSR polling is only done within real loops. R=rmcilroy@chromium.org BUG=v8:4764 Committed: https://crrev.com/c9864173f145c14866bcbf94759c53aa65847291 Cr-Commit-Position: refs/heads/master@{#39384}

Patch Set 1 #

Patch Set 2 : Small cleanup. #

Patch Set 3 : Source formatting. #

Patch Set 4 : Fix for wide jumps. #

Total comments: 4

Patch Set 5 : Addressed comments. #

Patch Set 6 : Remove left-over debug code. #

Patch Set 7 : Rebased. #

Patch Set 8 : One more test. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+290 lines, -367 lines) Patch
M src/compiler/bytecode-graph-builder.cc View 1 2 3 4 5 6 1 chunk +2 lines, -2 lines 0 comments Download
M src/interpreter/bytecode-array-builder.h View 1 2 3 4 5 6 2 chunks +2 lines, -4 lines 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 2 3 4 5 6 2 chunks +21 lines, -15 lines 0 comments Download
M src/interpreter/bytecode-array-writer.cc View 1 2 3 4 2 chunks +3 lines, -1 line 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 5 6 6 chunks +10 lines, -15 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 4 5 6 2 chunks +1 line, -3 lines 0 comments Download
M src/interpreter/bytecodes.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M src/interpreter/control-flow-builders.h View 2 chunks +1 line, -5 lines 0 comments Download
M src/interpreter/control-flow-builders.cc View 1 chunk +5 lines, -9 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 4 5 6 2 chunks +29 lines, -26 lines 0 comments Download
M src/interpreter/interpreter-assembler.cc View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M src/runtime/runtime-compiler.cc View 1 2 3 2 chunks +15 lines, -1 line 0 comments Download
M test/cctest/interpreter/bytecode_expectations/BasicLoops.golden View 1 2 3 4 5 6 34 chunks +50 lines, -48 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/BreakableBlocks.golden View 1 2 3 4 5 6 3 chunks +6 lines, -6 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ForIn.golden View 8 chunks +21 lines, -21 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ForOf.golden View 1 2 3 4 5 6 8 chunks +13 lines, -13 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Generators.golden View 1 2 3 4 5 6 4 chunks +9 lines, -9 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/JumpsRequiringConstantWideOperands.golden View 3 chunks +4 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/RemoveRedundantLdar.golden View 2 chunks +3 lines, -3 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden View 3 chunks +6 lines, -5 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/WideRegisters.golden View 6 chunks +8 lines, -8 lines 0 comments Download
M test/cctest/interpreter/test-bytecode-generator.cc View 1 1 chunk +0 lines, -1 line 0 comments Download
M test/cctest/interpreter/test-interpreter.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M test/unittests/interpreter/bytecode-array-builder-unittest.cc View 1 2 3 4 5 6 11 chunks +59 lines, -157 lines 0 comments Download
M test/unittests/interpreter/bytecode-array-writer-unittest.cc View 1 2 3 4 5 chunks +16 lines, -9 lines 0 comments Download

Messages

Total messages: 36 (29 generated)
Michael Starzinger
4 years, 3 months ago (2016-09-12 16:31:16 UTC) #2
rmcilroy
LGTM. If all backjumps are now JumpLoop, could you add a TODO(rmcilroy) in InterpreterAssembler::UpdateInterruptBudget to ...
4 years, 3 months ago (2016-09-13 10:47:34 UTC) #15
Michael Starzinger
Thanks. Addressed comments. Landing. https://codereview.chromium.org/2331033002/diff/60001/src/interpreter/bytecode-array-writer.cc File src/interpreter/bytecode-array-writer.cc (right): https://codereview.chromium.org/2331033002/diff/60001/src/interpreter/bytecode-array-writer.cc#newcode361 src/interpreter/bytecode-array-writer.cc:361: node->set_bytecode(node->bytecode(), delta, node->operand(1)); On 2016/09/13 ...
4 years, 3 months ago (2016-09-13 12:01:46 UTC) #18
rmcilroy
LGTM, thanks!
4 years, 3 months ago (2016-09-13 12:26:50 UTC) #23
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/2331033002/140001
4 years, 3 months ago (2016-09-13 13:04:36 UTC) #32
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 3 months ago (2016-09-13 13:07:20 UTC) #34
commit-bot: I haz the power
4 years, 3 months ago (2016-09-13 13:07:43 UTC) #36
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/c9864173f145c14866bcbf94759c53aa65847291
Cr-Commit-Position: refs/heads/master@{#39384}

Powered by Google App Engine
This is Rietveld 408576698