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

Issue 1235153006: [es6] re-implement rest parameters via desugaring (Closed)

Created:
5 years, 5 months ago by caitp (gmail)
Modified:
5 years, 4 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] re-implement rest parameters via desugaring Kills the kRestParameter bailout/disabled optimization, and fixes lazily parsed arrow functions with rest parameters. BUG=508074, v8:2160, v8:2700 LOG=N R=rossberg@chromium.org, adamk@chromium.org, wingo@igalia.com

Patch Set 1 #

Patch Set 2 : More/fewer removals #

Total comments: 12

Patch Set 3 : rebase + nit #

Patch Set 4 : WIP swap order of desugaring and fn body parsing #

Patch Set 5 : Make "use strong"/"use strict" directives in body apply to parameters too #

Patch Set 6 : Rebase #

Patch Set 7 : Ensure safe-scopes are used for temp allocation #

Total comments: 2

Patch Set 8 : Refactor Scope::TempScope #

Unified diffs Side-by-side diffs Delta from patch set Stats (+176 lines, -346 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -25 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -20 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -50 lines 0 comments Download
M src/arm64/full-codegen-arm64.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -20 lines 0 comments Download
M src/ast-value-factory.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M src/bailout-reason.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/code-stubs.h View 1 2 3 4 5 6 7 2 chunks +1 line, -19 lines 0 comments Download
M src/code-stubs.cc View 1 2 3 4 5 6 7 2 chunks +0 lines, -10 lines 0 comments Download
M src/compiler/ast-graph-builder.h View 1 2 3 4 5 1 chunk +0 lines, -3 lines 0 comments Download
M src/compiler/ast-graph-builder.cc View 1 2 3 4 5 2 chunks +0 lines, -23 lines 0 comments Download
M src/compiler/linkage.cc View 1 chunk +0 lines, -1 line 0 comments Download
M src/hydrogen.cc View 1 1 chunk +0 lines, -6 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -26 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -22 lines 0 comments Download
M src/parser.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/parser.cc View 1 2 3 4 5 6 11 chunks +104 lines, -15 lines 0 comments Download
M src/pattern-rewriter.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/preparser.h View 1 2 3 4 5 3 chunks +10 lines, -2 lines 0 comments Download
M src/runtime.js View 1 2 3 4 5 6 7 3 chunks +13 lines, -0 lines 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
M src/runtime/runtime-scopes.cc View 1 chunk +0 lines, -48 lines 0 comments Download
M src/scopes.h View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M src/scopes.cc View 1 2 3 4 5 6 7 1 chunk +9 lines, -0 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -28 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -22 lines 0 comments Download
A + test/mjsunit/harmony/arrow-rest-params-lazy-parsing.js View 1 chunk +2 lines, -1 line 0 comments Download
A test/mjsunit/regress/regress-508074.js View 1 2 1 chunk +26 lines, -0 lines 0 comments Download

Messages

Total messages: 29 (4 generated)
caitp (gmail)
PTAL when you have some time I've been meaning to do this for a while, ...
5 years, 5 months ago (2015-07-14 22:08:04 UTC) #1
caitp (gmail)
On 2015/07/14 22:08:04, caitp wrote: > PTAL when you have some time > > I've ...
5 years, 5 months ago (2015-07-14 22:08:54 UTC) #2
caitp (gmail)
On 2015/07/14 22:08:54, caitp wrote: > On 2015/07/14 22:08:04, caitp wrote: > > PTAL when ...
5 years, 5 months ago (2015-07-15 11:10:00 UTC) #3
Michael Starzinger
https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc File src/parser.cc (right): https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc#newcode4333 src/parser.cc:4333: // let <rest_params> = []; Just throwing this out ...
5 years, 5 months ago (2015-07-15 11:32:11 UTC) #4
caitp (gmail)
https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc File src/parser.cc (right): https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc#newcode4333 src/parser.cc:4333: // let <rest_params> = []; On 2015/07/15 11:32:11, Michael ...
5 years, 5 months ago (2015-07-15 11:36:32 UTC) #5
Michael Starzinger
https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc File src/parser.cc (right): https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc#newcode4333 src/parser.cc:4333: // let <rest_params> = []; On 2015/07/15 11:36:32, caitp ...
5 years, 5 months ago (2015-07-15 11:41:15 UTC) #6
rossberg
I like this! https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc File src/parser.cc (right): https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc#newcode4339 src/parser.cc:4339: proxy, VAR, scope_, RelocInfo::kNoPosition); Shouldn't this ...
5 years, 5 months ago (2015-07-15 12:10:17 UTC) #7
caitp (gmail)
https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc File src/parser.cc (right): https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc#newcode4339 src/parser.cc:4339: proxy, VAR, scope_, RelocInfo::kNoPosition); On 2015/07/15 12:10:16, rossberg wrote: ...
5 years, 5 months ago (2015-07-15 13:53:35 UTC) #8
rossberg
lgtm https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc File src/parser.cc (right): https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc#newcode4339 src/parser.cc:4339: proxy, VAR, scope_, RelocInfo::kNoPosition); On 2015/07/15 13:53:35, caitp ...
5 years, 5 months ago (2015-07-15 14:54:31 UTC) #9
caitp (gmail)
On 2015/07/15 14:54:31, rossberg wrote: > lgtm > > https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc > File src/parser.cc (right): > ...
5 years, 5 months ago (2015-07-15 15:11:22 UTC) #10
rossberg
On 2015/07/15 15:11:22, caitp wrote: > It's still not quite ready yet as it breaks ...
5 years, 5 months ago (2015-07-15 15:28:02 UTC) #11
caitp (gmail)
On 2015/07/15 15:28:02, rossberg wrote: > On 2015/07/15 15:11:22, caitp wrote: > > It's still ...
5 years, 5 months ago (2015-07-15 15:34:12 UTC) #12
caitp (gmail)
I've started trying to switch the order of parsing the function body with the desugaring, ...
5 years, 5 months ago (2015-07-15 18:05:51 UTC) #13
Toon Verwaest
https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc File src/parser.cc (right): https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc#newcode4333 src/parser.cc:4333: // let <rest_params> = []; On 2015/07/15 11:32:11, Michael ...
5 years, 5 months ago (2015-07-15 18:57:40 UTC) #15
Michael Starzinger
https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc File src/parser.cc (right): https://codereview.chromium.org/1235153006/diff/20001/src/parser.cc#newcode4333 src/parser.cc:4333: // let <rest_params> = []; On 2015/07/15 18:57:39, Toon ...
5 years, 5 months ago (2015-07-15 19:07:43 UTC) #17
caitp (gmail)
On 2015/07/15 18:05:51, caitp wrote: > I've started trying to switch the order of parsing ...
5 years, 5 months ago (2015-07-15 19:23:17 UTC) #18
caitp (gmail)
I've rebased on top of the order switch --- it's passing release tests, but fails ...
5 years, 5 months ago (2015-07-16 17:29:58 UTC) #21
caitp (gmail)
On 2015/07/16 17:29:58, caitp wrote: > I've rebased on top of the order switch --- ...
5 years, 5 months ago (2015-07-16 19:15:41 UTC) #22
rossberg
LGTM modulo comment https://codereview.chromium.org/1235153006/diff/150001/src/scopes.h File src/scopes.h (right): https://codereview.chromium.org/1235153006/diff/150001/src/scopes.h#newcode497 src/scopes.h:497: s = s->outer_scope(); We may potentially ...
5 years, 5 months ago (2015-07-17 08:38:05 UTC) #23
rossberg
On 2015/07/16 19:15:41, caitp wrote: > Or maybe the DCHECK in NewTemporary could just be ...
5 years, 5 months ago (2015-07-17 08:41:30 UTC) #24
caitp (gmail)
https://codereview.chromium.org/1235153006/diff/150001/src/scopes.h File src/scopes.h (right): https://codereview.chromium.org/1235153006/diff/150001/src/scopes.h#newcode497 src/scopes.h:497: s = s->outer_scope(); On 2015/07/17 08:38:05, rossberg wrote: > ...
5 years, 5 months ago (2015-07-17 15:43:23 UTC) #25
rossberg
lgtm
5 years, 5 months ago (2015-07-22 10:31:27 UTC) #26
rossberg
Btw, can't you remove rest_parameter_ and rest_index_ from Scope now?
5 years, 5 months ago (2015-07-22 12:01:43 UTC) #27
caitp (gmail)
On 2015/07/22 12:01:43, rossberg wrote: > Btw, can't you remove rest_parameter_ and rest_index_ from Scope ...
5 years, 5 months ago (2015-07-22 13:57:21 UTC) #28
caitp (gmail)
5 years, 4 months ago (2015-08-05 20:30:25 UTC) #29

Powered by Google App Engine
This is Rietveld 408576698