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

Issue 1218543003: [es6] Ensure that for-in/of loops have a proper TDZ for their boundnames (Closed)

Created:
5 years, 6 months ago by adamk
Modified:
5 years, 5 months ago
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[es6] Ensure that for-in/of loops have a proper TDZ for their lexically-bound variables The enumerable expression in a for-in/of loop is supposed to have a TDZ for any lexically bound names in that loop (there can be more than one with destructuring). This patch accomplishes this with an almost-correct desugaring. The only thing missing is proper debugger support (the let declarations added by the desugaring, while invisible to code due to shadowing, are visible to the debugger). BUG=v8:4210 LOG=n Committed: https://crrev.com/62572e011e73da2669be6e724243405e42304d78 Cr-Commit-Position: refs/heads/master@{#29396}

Patch Set 1 : Rebased #

Patch Set 2 : Fix rebase merge #

Total comments: 2

Patch Set 3 : Rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+70 lines, -32 lines) Patch
M src/parser.cc View 1 2 3 chunks +45 lines, -11 lines 0 comments Download
M test/mjsunit/es6/debug-blockscopes.js View 3 chunks +8 lines, -2 lines 0 comments Download
M test/mjsunit/es6/debug-stepnext-for.js View 1 chunk +1 line, -1 line 0 comments Download
M test/mjsunit/es6/regress/regress-2506.js View 2 chunks +8 lines, -8 lines 0 comments Download
M test/mjsunit/harmony/destructuring.js View 1 chunk +8 lines, -0 lines 0 comments Download
M test/mjsunit/strong/declaration-after-use.js View 1 2 1 chunk +0 lines, -4 lines 0 comments Download
M test/test262-es6/test262-es6.status View 1 1 chunk +0 lines, -6 lines 0 comments Download

Messages

Total messages: 15 (5 generated)
adamk
This is ready for review, though I'll need to fix the TODOs about the debugger ...
5 years, 6 months ago (2015-06-26 21:16:03 UTC) #3
arv (Not doing code reviews)
LGTM I think the extra variable visible to the debugger can be done later. https://codereview.chromium.org/1218543003/diff/40001/test/mjsunit/harmony/destructuring.js ...
5 years, 5 months ago (2015-06-29 14:48:44 UTC) #4
adamk
I'm not sure the debugger stuff can wait, I wouldn't want to ship a thing ...
5 years, 5 months ago (2015-06-29 18:20:13 UTC) #5
rossberg
LGTM On 2015/06/29 18:20:13, adamk wrote: > I'm not sure the debugger stuff can wait, ...
5 years, 5 months ago (2015-06-30 12:27:03 UTC) #6
adamk
On 2015/06/30 12:27:03, rossberg wrote: > LGTM > > On 2015/06/29 18:20:13, adamk wrote: > ...
5 years, 5 months ago (2015-06-30 21:27:25 UTC) #7
adamk
On 2015/06/30 21:27:25, adamk wrote: > On 2015/06/30 12:27:03, rossberg wrote: > > LGTM > ...
5 years, 5 months ago (2015-06-30 21:52:25 UTC) #9
adamk
Okay, I've convinced myself that fixing the debugger here is going to be tricky, and ...
5 years, 5 months ago (2015-06-30 23:55:33 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1218543003/80001
5 years, 5 months ago (2015-06-30 23:55:52 UTC) #13
commit-bot: I haz the power
Committed patchset #3 (id:80001)
5 years, 5 months ago (2015-07-01 00:27:21 UTC) #14
commit-bot: I haz the power
5 years, 5 months ago (2015-07-01 00:27:46 UTC) #15
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/62572e011e73da2669be6e724243405e42304d78
Cr-Commit-Position: refs/heads/master@{#29396}

Powered by Google App Engine
This is Rietveld 408576698