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

Issue 1724753002: [fullcodegen] Implement control flow across do-expressions. (Closed)

Created:
4 years, 10 months ago by Michael Starzinger
Modified:
4 years, 10 months ago
CC:
v8-reviews_googlegroups.com, v8-x87-ports_googlegroups.com, Michael Hablich
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[fullcodegen] Implement control flow across do-expressions. This implements proper handling of local control flow (i.e. break and continue) that spans the boundary of a do-expression. We can no longer determine the number of operands to be dropped from the nesting of statements alone, instead we use the new precise operand stack depth tracking. R=jarin@chromium.org TEST=mjsunit/harmony/do-expressions-control BUG=v8:4488 LOG=n Committed: https://crrev.com/ee8108b71c7e63392ba9814d859aa06f47acf5e5 Cr-Commit-Position: refs/heads/master@{#34246}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Ported to most architectures. #

Patch Set 3 : Addressed comments. #

Patch Set 4 : Fix issue in VisitYield. #

Patch Set 5 : Rebased. #

Patch Set 6 : Disable verification. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+210 lines, -137 lines) Patch
M src/full-codegen/arm/full-codegen-arm.cc View 1 2 3 4 5 chunks +8 lines, -8 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 2 3 4 5 chunks +8 lines, -8 lines 0 comments Download
M src/full-codegen/full-codegen.h View 7 chunks +14 lines, -54 lines 0 comments Download
M src/full-codegen/full-codegen.cc View 10 chunks +37 lines, -33 lines 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 2 3 4 6 chunks +9 lines, -9 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 2 3 4 5 chunks +8 lines, -8 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 2 3 4 5 chunks +8 lines, -8 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 2 3 4 6 chunks +9 lines, -9 lines 0 comments Download
A test/mjsunit/harmony/do-expressions-control.js View 1 2 3 1 chunk +109 lines, -0 lines 0 comments Download

Messages

Total messages: 17 (7 generated)
Michael Starzinger
Ports are still missing, but I wanted to get a first round of comments beforehand. ...
4 years, 10 months ago (2016-02-23 14:01:26 UTC) #2
rossberg
https://codereview.chromium.org/1724753002/diff/1/test/mjsunit/harmony/do-expressions-control.js File test/mjsunit/harmony/do-expressions-control.js (right): https://codereview.chromium.org/1724753002/diff/1/test/mjsunit/harmony/do-expressions-control.js#newcode7 test/mjsunit/harmony/do-expressions-control.js:7: (function TestDoForInDoBreak() { Might be worth also having tests ...
4 years, 10 months ago (2016-02-23 14:38:33 UTC) #4
Michael Starzinger
Ports done. Comments addressed. https://codereview.chromium.org/1724753002/diff/1/test/mjsunit/harmony/do-expressions-control.js File test/mjsunit/harmony/do-expressions-control.js (right): https://codereview.chromium.org/1724753002/diff/1/test/mjsunit/harmony/do-expressions-control.js#newcode7 test/mjsunit/harmony/do-expressions-control.js:7: (function TestDoForInDoBreak() { On 2016/02/23 ...
4 years, 10 months ago (2016-02-23 15:52:40 UTC) #5
rossberg
Test LGTM, referring to others for compiler changes. https://codereview.chromium.org/1724753002/diff/1/test/mjsunit/harmony/do-expressions-control.js File test/mjsunit/harmony/do-expressions-control.js (right): https://codereview.chromium.org/1724753002/diff/1/test/mjsunit/harmony/do-expressions-control.js#newcode7 test/mjsunit/harmony/do-expressions-control.js:7: (function ...
4 years, 10 months ago (2016-02-23 16:04:32 UTC) #6
Michael Starzinger
This is ready for a final review.
4 years, 10 months ago (2016-02-23 16:33:27 UTC) #7
Benedikt Meurer
Nice cleanup. LGTM. Love the tests :-)
4 years, 10 months ago (2016-02-24 08:57:10 UTC) #9
Jarin
Very nice. LGTM! I hope we can clean up NestedStatement::Exit even more in future. The ...
4 years, 10 months ago (2016-02-24 09:55:10 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1724753002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1724753002/100001
4 years, 10 months ago (2016-02-24 11:02:49 UTC) #13
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 10 months ago (2016-02-24 11:05:17 UTC) #15
commit-bot: I haz the power
4 years, 10 months ago (2016-02-24 11:06:16 UTC) #17
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/ee8108b71c7e63392ba9814d859aa06f47acf5e5
Cr-Commit-Position: refs/heads/master@{#34246}

Powered by Google App Engine
This is Rietveld 408576698