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

Issue 2042633002: [interpreter] Ensure optimizations preserve source positions. (Closed)

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

Description

[interpreter] Ensure optimizations preserve source positions. The optimization stages in the bytecode generation pipeline must preserve source position information. Failure to preserve source position information could result in single stepping in the debugger misbehaving or mis-reporting in exception stack traces. This change adds tests intended to check optimizations do not damage source position info. BUG=v8:4280 LOG=N Committed: https://crrev.com/a9af61d002d856c4b703e34a8bf6a854ef9a016a Cr-Commit-Position: refs/heads/master@{#36855}

Patch Set 1 #

Total comments: 34

Patch Set 2 : Incorporate comments on src. #

Patch Set 3 : Incorporate most of comments on test/ #

Patch Set 4 : Rebase. #

Patch Set 5 : Add separate test bodies for each combination of flags. #

Patch Set 6 : Nits. #

Total comments: 10

Patch Set 7 : Incorporate review comments. #

Total comments: 2

Patch Set 8 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+701 lines, -160 lines) Patch
M src/interpreter/bytecode-peephole-optimizer.h View 1 2 chunks +1 line, -1 line 0 comments Download
M src/interpreter/bytecode-peephole-optimizer.cc View 1 2 3 4 5 6 4 chunks +12 lines, -13 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 4 5 2 chunks +13 lines, -5 lines 0 comments Download
M src/interpreter/bytecodes.cc View 1 2 3 4 5 6 5 chunks +28 lines, -12 lines 0 comments Download
M test/cctest/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M test/cctest/cctest.gyp View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden View 1 chunk +128 lines, -128 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden View 1 chunk +1 line, -1 line 0 comments Download
A test/cctest/interpreter/source-position-matcher.h View 1 2 1 chunk +50 lines, -0 lines 0 comments Download
A test/cctest/interpreter/source-position-matcher.cc View 1 2 3 4 5 6 1 chunk +225 lines, -0 lines 0 comments Download
A test/cctest/interpreter/test-source-positions.cc View 1 2 3 4 5 1 chunk +237 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 24 (8 generated)
oth
Ross, PTAL, thanks.
4 years, 6 months ago (2016-06-06 05:09:47 UTC) #2
rmcilroy
Overall looks good. Couple of comments, and please have Yang have a look too. https://codereview.chromium.org/2042633002/diff/1/src/interpreter/bytecode-peephole-optimizer.cc ...
4 years, 6 months ago (2016-06-07 09:46:11 UTC) #3
oth
Thanks, incorporated the bulk of this. Looking for a better way to select flag combinations ...
4 years, 6 months ago (2016-06-07 13:46:18 UTC) #4
oth
On 2016/06/07 13:46:18, oth wrote: > Thanks, incorporated the bulk of this. Looking for a ...
4 years, 6 months ago (2016-06-08 08:17:48 UTC) #5
oth
4 years, 6 months ago (2016-06-08 09:26:38 UTC) #7
oth
+Yang, PTAL, thanks.
4 years, 6 months ago (2016-06-08 09:27:17 UTC) #8
rmcilroy
LGTM if Yang is happy. https://codereview.chromium.org/2042633002/diff/100001/src/interpreter/bytecode-peephole-optimizer.cc File src/interpreter/bytecode-peephole-optimizer.cc (right): https://codereview.chromium.org/2042633002/diff/100001/src/interpreter/bytecode-peephole-optimizer.cc#newcode198 src/interpreter/bytecode-peephole-optimizer.cc:198: // NB If the ...
4 years, 6 months ago (2016-06-08 11:31:40 UTC) #9
oth
Thanks. https://codereview.chromium.org/2042633002/diff/100001/src/interpreter/bytecode-peephole-optimizer.cc File src/interpreter/bytecode-peephole-optimizer.cc (right): https://codereview.chromium.org/2042633002/diff/100001/src/interpreter/bytecode-peephole-optimizer.cc#newcode198 src/interpreter/bytecode-peephole-optimizer.cc:198: // NB If the Star is tagged with ...
4 years, 6 months ago (2016-06-08 14:18:25 UTC) #10
oth
+Yang. Yang, apologies, I fatfingered your LDAP when attempting to send this out. PTAL, thanks.
4 years, 6 months ago (2016-06-08 15:06:16 UTC) #13
Yang
https://codereview.chromium.org/2042633002/diff/120001/test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden File test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden (right): https://codereview.chromium.org/2042633002/diff/120001/test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden#newcode801 test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden:801: B(LdrKeyedProperty), R(arg0), U8(5), R(0), Is this correct? If the ...
4 years, 6 months ago (2016-06-09 06:02:47 UTC) #14
oth
Thanks Yang. There's an explanation to the issue below. Please see if the answer makes ...
4 years, 6 months ago (2016-06-09 08:51:17 UTC) #15
Yang
On 2016/06/09 08:51:17, oth wrote: > Thanks Yang. There's an explanation to the issue below. ...
4 years, 6 months ago (2016-06-09 08:57:28 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2042633002/140001
4 years, 6 months ago (2016-06-09 11:36:45 UTC) #19
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 6 months ago (2016-06-09 12:03:58 UTC) #21
commit-bot: I haz the power
Patchset 8 (id:??) landed as https://crrev.com/a9af61d002d856c4b703e34a8bf6a854ef9a016a Cr-Commit-Position: refs/heads/master@{#36855}
4 years, 6 months ago (2016-06-09 12:04:48 UTC) #23
xidachen
4 years, 6 months ago (2016-06-09 18:10:00 UTC) #24
Message was sent while issue was closed.
A revert of this CL (patchset #8 id:140001) has been created in
https://codereview.chromium.org/2055863002/ by xidachen@chromium.org.

The reason for reverting is: causing compile error:
https://build.chromium.org/p/chromium/builders/Win/builds/44180

Bug filed here:
https://bugs.chromium.org/p/chromium/issues/detail?id=618757.

Powered by Google App Engine
This is Rietveld 408576698