Chromium Code Reviews

Issue 2459513002: [ignition] Add bytecodes for loads/stores in the current context (Closed)

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

Description

[ignition] Add bytecodes for loads/stores in the current context The majority of context slot accesses are to the local context (current context register and depth 0), so this adds bytecodes to optimise for that case. This cuts down bytecode size by roughly 1% (measured on Octane and Top25). Committed: https://crrev.com/d2caa302a7bc8cd54dbfaf4e4cfbb3fb81ada378 Cr-Commit-Position: refs/heads/master@{#40641}

Patch Set 1 #

Total comments: 3

Patch Set 2 : s/LocalContext/CurrentContext/g #

Unified diffs Side-by-side diffs Stats (+624 lines, -531 lines)
M src/compiler/bytecode-graph-builder.h View 1 chunk +1 line, -0 lines 0 comments
M src/compiler/bytecode-graph-builder.cc View 2 chunks +28 lines, -0 lines 0 comments
M src/interpreter/bytecode-array-builder.cc View 1 chunk +10 lines, -2 lines 0 comments
M src/interpreter/bytecodes.h View 1 chunk +4 lines, -0 lines 0 comments
M src/interpreter/interpreter.h View 1 chunk +3 lines, -0 lines 0 comments
M src/interpreter/interpreter.cc View 4 chunks +38 lines, -0 lines 0 comments
M src/interpreter/mkpeephole.cc View 1 chunk +3 lines, -0 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/BasicLoops.golden View 1 chunk +9 lines, -9 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/BreakableBlocks.golden View 2 chunks +12 lines, -12 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden View 1 chunk +4 lines, -4 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden View 6 chunks +7 lines, -7 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden View 1 chunk +4 lines, -4 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/ConstVariableContextSlot.golden View 4 chunks +14 lines, -14 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/ContextParameters.golden View 4 chunks +10 lines, -10 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/ContextVariables.golden View 6 chunks +268 lines, -268 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/CountOperators.golden View 2 chunks +8 lines, -8 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/CreateArguments.golden View 2 chunks +6 lines, -6 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/Delete.golden View 1 chunk +3 lines, -3 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/Eval.golden View 1 chunk +4 lines, -4 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/ForOf.golden View 16 chunks +22 lines, -22 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/Generators.golden View 23 chunks +45 lines, -44 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/GlobalDelete.golden View 2 chunks +4 lines, -4 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/LetVariableContextSlot.golden View 4 chunks +16 lines, -16 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/LookupSlot.golden View 5 chunks +20 lines, -20 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/Modules.golden View 35 chunks +70 lines, -70 lines 0 comments
M test/cctest/interpreter/bytecode_expectations/OuterContextVariables.golden View 2 chunks +4 lines, -4 lines 0 comments
M test/unittests/interpreter/bytecode-array-builder-unittest.cc View 3 chunks +7 lines, -0 lines 0 comments

Messages

Total messages: 14 (8 generated)
Leszek Swirski
rmcilroy@chromium.org: Please review changes in interpreter & tests mstarzinger@chromium.org: Please review changes in bytecode graph ...
4 years, 1 month ago (2016-10-27 11:17:33 UTC) #6
Michael Starzinger
LGTM from my end. https://codereview.chromium.org/2459513002/diff/1/src/interpreter/interpreter.h File src/interpreter/interpreter.h (right): https://codereview.chromium.org/2459513002/diff/1/src/interpreter/interpreter.h#newcode145 src/interpreter/interpreter.h:145: // Generates code to load ...
4 years, 1 month ago (2016-10-27 12:21:26 UTC) #7
rmcilroy
LGTM https://codereview.chromium.org/2459513002/diff/1/src/compiler/bytecode-graph-builder.h File src/compiler/bytecode-graph-builder.h (right): https://codereview.chromium.org/2459513002/diff/1/src/compiler/bytecode-graph-builder.h#newcode138 src/compiler/bytecode-graph-builder.h:138: Node* BuildLoadLocalContextSlot(); Could we call this CurrentContext instead ...
4 years, 1 month ago (2016-10-27 13:44:09 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/2459513002/20001
4 years, 1 month ago (2016-10-28 09:44:14 UTC) #11
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 1 month ago (2016-10-28 10:10:40 UTC) #12
commit-bot: I haz the power
4 years, 1 month ago (2016-11-17 22:16:35 UTC) #14
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/d2caa302a7bc8cd54dbfaf4e4cfbb3fb81ada378
Cr-Commit-Position: refs/heads/master@{#40641}

Powered by Google App Engine