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

Issue 2489513005: [Interpreter] Remove all Ldr style bytecodes and replace with Star lookahead. (Closed)

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

Description

[Interpreter] Remove all Ldr style bytecodes and replace with Star lookahead. We seem to get some small wins from avoiding the Ldr bytecodes, probably due to reduced icache pressure since there are less bytecode handlers. Replace the Ldr bytecodes with Star lookahead inlined into the Lda versions. Also fixes IsAccumulatorLoadWithoutEffects to include LdaContextSlot and LdaCurrentContextSlot BUG=v8:4280 Committed: https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4 Cr-Commit-Position: refs/heads/master@{#40883}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+312 lines, -481 lines) Patch
M src/compiler/bytecode-graph-builder.h View 1 chunk +0 lines, -2 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 4 chunks +5 lines, -36 lines 0 comments Download
M src/interpreter/bytecode-peephole-optimizer.cc View 2 chunks +0 lines, -29 lines 0 comments Download
M src/interpreter/bytecode-peephole-table.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/interpreter/bytecodes.h View 3 chunks +5 lines, -12 lines 0 comments Download
M src/interpreter/bytecodes.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/interpreter/interpreter.h View 1 chunk +0 lines, -6 lines 0 comments Download
M src/interpreter/interpreter.cc View 4 chunks +9 lines, -68 lines 0 comments Download
M src/interpreter/mkpeephole.cc View 1 chunk +0 lines, -24 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CallGlobal.golden View 2 chunks +10 lines, -6 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CallNew.golden View 3 chunks +9 lines, -7 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CallRuntime.golden View 1 chunk +3 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden View 2 chunks +4 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden View 2 chunks +3 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ConstVariableContextSlot.golden View 1 chunk +2 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ContextVariables.golden View 3 chunks +8 lines, -5 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/DeclareGlobals.golden View 2 chunks +5 lines, -3 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Delete.golden View 2 chunks +3 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/DoExpression.golden View 1 chunk +3 lines, -3 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ForOf.golden View 16 chunks +26 lines, -22 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/FunctionLiterals.golden View 2 chunks +6 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Generators.golden View 23 chunks +105 lines, -74 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/GlobalCompoundExpressions.golden View 2 chunks +6 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/GlobalDelete.golden View 4 chunks +16 lines, -10 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/LetVariableContextSlot.golden View 1 chunk +2 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Modules.golden View 17 chunks +69 lines, -53 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/OuterContextVariables.golden View 1 chunk +5 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden View 2 chunks +3 lines, -3 lines 0 comments Download
M test/unittests/interpreter/bytecode-array-builder-unittest.cc View 3 chunks +1 line, -16 lines 0 comments Download
M test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc View 1 chunk +0 lines, -75 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 14 (7 generated)
rmcilroy
Trying the same for all our other Ldr bytecodes since we actually see a small ...
4 years, 1 month ago (2016-11-09 16:21:04 UTC) #4
rmcilroy
Seems performance neutral, so probably worth removing for code complexity.
4 years, 1 month ago (2016-11-09 17:24:03 UTC) #7
Jarin
lgtm, nice!
4 years, 1 month ago (2016-11-10 07:51:01 UTC) #8
mythria
lgtm.
4 years, 1 month ago (2016-11-10 10:33:13 UTC) #9
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/2489513005/1
4 years, 1 month ago (2016-11-10 10:39:45 UTC) #11
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 1 month ago (2016-11-10 10:41:53 UTC) #12
commit-bot: I haz the power
4 years, 1 month ago (2016-11-17 22:28:42 UTC) #14
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4
Cr-Commit-Position: refs/heads/master@{#40883}

Powered by Google App Engine
This is Rietveld 408576698