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

Issue 2038323002: [interpreter] Filter expression positions at source. (Closed)

Created:
4 years, 6 months ago by oth
Modified:
4 years, 6 months ago
Reviewers:
rmcilroy, Yang
CC:
v8-reviews_googlegroups.com, rmcilroy, Michael Hablich
Base URL:
https://chromium.googlesource.com/v8/v8.git@oth-0060-source-position-testing
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[interpreter] Filter expression positions at source. With this change the bytecode array builder only emits expression positions for bytecodes that can throw. This allows more peephole optimization opportunities and results in smaller code. BUG=v8:4280, chromium:615979 LOG=N Committed: https://crrev.com/769d33261937b0a38dfa365b3d48d9460f61ee2f Cr-Commit-Position: refs/heads/master@{#36863}

Patch Set 1 #

Total comments: 12

Patch Set 2 : Rebase #

Patch Set 3 : Incorporate comments. #

Total comments: 2

Patch Set 4 : Fix expression positions on StackCheck that this CL broke. #

Total comments: 6

Patch Set 5 : Revisions per feedback. #

Patch Set 6 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1549 lines, -2203 lines) Patch
M src/flag-definitions.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 2 3 4 3 chunks +31 lines, -3 lines 0 comments Download
M src/interpreter/bytecode-peephole-optimizer.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/interpreter/bytecode-pipeline.h View 1 chunk +0 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden View 3 chunks +8 lines, -8 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden View 8 chunks +43 lines, -43 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/BasicBlockToBoolean.golden View 3 chunks +4 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/BasicLoops.golden View 1 2 3 27 chunks +31 lines, -31 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/BreakableBlocks.golden View 4 chunks +15 lines, -16 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CallNew.golden View 2 chunks +4 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden View 4 chunks +24 lines, -27 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden View 3 chunks +3 lines, -3 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden View 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ConstVariable.golden View 3 chunks +5 lines, -5 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ConstVariableContextSlot.golden View 2 chunks +4 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CountOperators.golden View 7 chunks +9 lines, -11 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CreateArguments.golden View 3 chunks +6 lines, -8 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CreateRestParameter.golden View 4 chunks +8 lines, -12 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/DeadCodeRemoval.golden View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/interpreter/bytecode_expectations/DoExpression.golden View 3 chunks +8 lines, -11 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ForIn.golden View 4 chunks +27 lines, -30 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ForOf.golden View 6 chunks +26 lines, -27 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Generators.golden View 1 chunk +2 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/HeapNumberConstants.golden View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/interpreter/bytecode_expectations/IfConditions.golden View 7 chunks +270 lines, -535 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/JumpsRequiringConstantWideOperands.golden View 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/LetVariable.golden View 3 chunks +5 lines, -5 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/LetVariableContextSlot.golden View 2 chunks +4 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/LogicalExpressions.golden View 6 chunks +260 lines, -263 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden View 7 chunks +15 lines, -16 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/OuterContextVariables.golden View 1 chunk +3 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Parameters.golden View 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/PropertyCall.golden View 2 chunks +6 lines, -9 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden View 4 chunks +268 lines, -400 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/PropertyStores.golden View 5 chunks +267 lines, -529 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/RemoveRedundantLdar.golden View 1 2 3 2 chunks +9 lines, -11 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Switch.golden View 11 chunks +20 lines, -27 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/TryCatch.golden View 1 2 chunks +5 lines, -5 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/TryFinally.golden View 1 5 chunks +20 lines, -20 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden View 1 2 3 3 chunks +4 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/WideRegisters.golden View 8 chunks +30 lines, -37 lines 0 comments Download
M test/cctest/interpreter/test-source-positions.cc View 1 2 3 4 4 chunks +94 lines, -74 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 19 (7 generated)
oth
Ross, PTAL, thanks.
4 years, 6 months ago (2016-06-06 05:16:12 UTC) #3
rmcilroy
Please also let Yang have a look at this before landing. https://codereview.chromium.org/2038323002/diff/1/src/interpreter/bytecode-array-builder.cc File src/interpreter/bytecode-array-builder.cc (right): ...
4 years, 6 months ago (2016-06-07 10:21:41 UTC) #4
oth
On 2016/06/07 10:21:41, rmcilroy wrote: > Please also let Yang have a look at this ...
4 years, 6 months ago (2016-06-08 09:18:59 UTC) #5
oth
+Yang, PTAL. https://codereview.chromium.org/2038323002/diff/1/src/interpreter/bytecode-array-builder.cc File src/interpreter/bytecode-array-builder.cc (right): https://codereview.chromium.org/2038323002/diff/1/src/interpreter/bytecode-array-builder.cc#newcode85 src/interpreter/bytecode-array-builder.cc:85: !Bytecodes::IsWithoutExternalSideEffects(node->bytecode())) { On 2016/06/07 10:21:41, rmcilroy wrote: ...
4 years, 6 months ago (2016-06-08 09:19:41 UTC) #7
oth
https://codereview.chromium.org/2038323002/diff/40001/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden File test/cctest/interpreter/bytecode_expectations/BasicLoops.golden (right): https://codereview.chromium.org/2038323002/diff/40001/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden#newcode122 test/cctest/interpreter/bytecode_expectations/BasicLoops.golden:122: /* 42 E> */ B(StackCheck), TODO(oth): Check whether the ...
4 years, 6 months ago (2016-06-08 09:22:43 UTC) #8
oth
https://codereview.chromium.org/2038323002/diff/40001/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden File test/cctest/interpreter/bytecode_expectations/BasicLoops.golden (right): https://codereview.chromium.org/2038323002/diff/40001/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden#newcode122 test/cctest/interpreter/bytecode_expectations/BasicLoops.golden:122: /* 42 E> */ B(StackCheck), On 2016/06/08 09:22:43, oth ...
4 years, 6 months ago (2016-06-08 10:07:23 UTC) #9
Yang
LGTM. Very nice! https://codereview.chromium.org/2038323002/diff/60001/src/interpreter/bytecode-array-builder.h File src/interpreter/bytecode-array-builder.h (right): https://codereview.chromium.org/2038323002/diff/60001/src/interpreter/bytecode-array-builder.h#newcode319 src/interpreter/bytecode-array-builder.h:319: static bool NeedExpressionPosition(Bytecode bytecode); I wonder ...
4 years, 6 months ago (2016-06-08 13:04:55 UTC) #10
rmcilroy
LGTM, thanks https://codereview.chromium.org/2038323002/diff/1/src/interpreter/bytecode-array-builder.cc File src/interpreter/bytecode-array-builder.cc (right): https://codereview.chromium.org/2038323002/diff/1/src/interpreter/bytecode-array-builder.cc#newcode87 src/interpreter/bytecode-array-builder.cc:87: latest_source_info_.set_invalid(); On 2016/06/08 09:19:41, oth wrote: > ...
4 years, 6 months ago (2016-06-08 13:45:11 UTC) #11
oth
Thanks comments incorporated. https://codereview.chromium.org/2038323002/diff/1/src/interpreter/bytecode-array-builder.cc File src/interpreter/bytecode-array-builder.cc (right): https://codereview.chromium.org/2038323002/diff/1/src/interpreter/bytecode-array-builder.cc#newcode87 src/interpreter/bytecode-array-builder.cc:87: latest_source_info_.set_invalid(); On 2016/06/08 13:45:11, rmcilroy wrote: ...
4 years, 6 months ago (2016-06-08 15:04:21 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2038323002/100001
4 years, 6 months ago (2016-06-09 13:02:56 UTC) #15
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 6 months ago (2016-06-09 13:32:42 UTC) #17
commit-bot: I haz the power
4 years, 6 months ago (2016-06-09 13:33:41 UTC) #19
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/769d33261937b0a38dfa365b3d48d9460f61ee2f
Cr-Commit-Position: refs/heads/master@{#36863}

Powered by Google App Engine
This is Rietveld 408576698