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

Issue 2540593003: Move desugaring of super calls with trailing spread to one runtime call. (Closed)

Created:
4 years ago by petermarshall
Modified:
4 years ago
CC:
rmcilroy, v8-reviews_googlegroups.com, Michael Hablich, vogelheim
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Move desugaring of super calls with trailing spread to one runtime call. Unfortunately we have to split this up into two cases: those with exactly one spread argument as the final argument, and all others, due to any side-effects of evaluation being visible. This is in preparation for a new bytecode which handles super calls. BUG=v8:5659 Committed: https://crrev.com/a328143eb33f225488c6efb81f7c514cbb8b19be Cr-Commit-Position: refs/heads/master@{#41415}

Patch Set 1 #

Patch Set 2 : Change some comments and simplify an else #

Total comments: 9

Patch Set 3 : Address comments #

Total comments: 19

Patch Set 4 : Don't special-case for only spread. Address comments. #

Patch Set 5 : Clean up visiting of spread args #

Patch Set 6 : Add full stops to comments #

Patch Set 7 : Add generated bytecode tests #

Patch Set 8 : Simplify parser files by removing PrepareSpreadArguments from preparser #

Total comments: 11

Patch Set 9 : Address Ross' comments #

Patch Set 10 : Clean up spread recognition in bytecodegen #

Patch Set 11 : fix potential evaluation order issue #

Unified diffs Side-by-side diffs Delta from patch set Stats (+345 lines, -67 lines) Patch
M src/ast/ast-numbering.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +7 lines, -3 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +44 lines, -19 lines 0 comments Download
M src/parsing/parser.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +24 lines, -23 lines 0 comments Download
M src/parsing/parser-base.h View 1 2 3 4 5 6 7 2 chunks +0 lines, -2 lines 0 comments Download
M src/parsing/preparser.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -5 lines 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -1 line 0 comments Download
M src/runtime/runtime-array.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +60 lines, -14 lines 0 comments Download
A test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden View 1 2 3 4 5 6 1 chunk +166 lines, -0 lines 0 comments Download
M test/cctest/interpreter/test-bytecode-generator.cc View 1 2 3 4 5 6 1 chunk +42 lines, -0 lines 0 comments Download

Messages

Total messages: 44 (22 generated)
petermarshall
PTAL :)
4 years ago (2016-11-29 13:08:02 UTC) #7
Benedikt Meurer
LGTM once comments/nits addressed. https://codereview.chromium.org/2540593003/diff/20001/src/ast/ast-numbering.cc File src/ast/ast-numbering.cc (right): https://codereview.chromium.org/2540593003/diff/20001/src/ast/ast-numbering.cc#newcode397 src/ast/ast-numbering.cc:397: void AstNumberingVisitor::VisitSpread(Spread* node) { Don't ...
4 years ago (2016-11-29 13:15:40 UTC) #8
petermarshall
https://codereview.chromium.org/2540593003/diff/20001/src/ast/ast-numbering.cc File src/ast/ast-numbering.cc (right): https://codereview.chromium.org/2540593003/diff/20001/src/ast/ast-numbering.cc#newcode397 src/ast/ast-numbering.cc:397: void AstNumberingVisitor::VisitSpread(Spread* node) { On 2016/11/29 at 13:15:40, Benedikt ...
4 years ago (2016-11-29 13:32:27 UTC) #9
Benedikt Meurer
LGTM https://codereview.chromium.org/2540593003/diff/20001/src/ast/ast-numbering.cc File src/ast/ast-numbering.cc (right): https://codereview.chromium.org/2540593003/diff/20001/src/ast/ast-numbering.cc#newcode397 src/ast/ast-numbering.cc:397: void AstNumberingVisitor::VisitSpread(Spread* node) { I see, makes sense. ...
4 years ago (2016-11-29 13:36:56 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2540593003/40001
4 years ago (2016-11-29 13:38:19 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/29595)
4 years ago (2016-11-29 13:41:08 UTC) #14
petermarshall
Daniel, could you PTAL for /parsing/*?
4 years ago (2016-11-29 13:43:22 UTC) #16
vogelheim
lgtm for src/parsing/... Generally speaking I find this code quite confusing: It seems that previously, ...
4 years ago (2016-11-29 14:55:19 UTC) #17
rmcilroy
https://codereview.chromium.org/2540593003/diff/40001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): https://codereview.chromium.org/2540593003/diff/40001/src/interpreter/bytecode-generator.cc#newcode2491 src/interpreter/bytecode-generator.cc:2491: register_allocator()->NewRegisterList(args->length()); These are only used in the else branch, ...
4 years ago (2016-11-29 15:51:56 UTC) #19
petermarshall
Thanks for the comments Daniel and Ross, I think it is looking much cleaner now. ...
4 years ago (2016-11-30 13:11:09 UTC) #20
rmcilroy
Looks good. A couple of last comments, all of which are nits apart from DisableFullCodegenAndCrankshaft ...
4 years ago (2016-11-30 14:35:32 UTC) #21
petermarshall
Thanks =] https://codereview.chromium.org/2540593003/diff/40001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): https://codereview.chromium.org/2540593003/diff/40001/src/interpreter/bytecode-generator.cc#newcode2519 src/interpreter/bytecode-generator.cc:2519: spread_prepare_args[args->length() - 1]); On 2016/11/30 at 14:35:32, ...
4 years ago (2016-11-30 15:24:48 UTC) #22
rmcilroy
LGTM, thanks. https://codereview.chromium.org/2540593003/diff/140001/src/ast/ast-numbering.cc File src/ast/ast-numbering.cc (right): https://codereview.chromium.org/2540593003/diff/140001/src/ast/ast-numbering.cc#newcode398 src/ast/ast-numbering.cc:398: IncrementNodeCount(); On 2016/11/30 15:24:48, petermarshall wrote: > ...
4 years ago (2016-11-30 15:45:04 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2540593003/180001
4 years ago (2016-11-30 15:53:52 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_rel_ng/builds/17052) v8_linux_rel_ng_triggered on master.tryserver.v8 (JOB_FAILED, ...
4 years ago (2016-11-30 16:33:39 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2540593003/200001
4 years ago (2016-12-01 09:40:31 UTC) #35
commit-bot: I haz the power
Committed patchset #11 (id:200001)
4 years ago (2016-12-01 09:42:14 UTC) #37
commit-bot: I haz the power
Patchset 11 (id:??) landed as https://crrev.com/a328143eb33f225488c6efb81f7c514cbb8b19be Cr-Commit-Position: refs/heads/master@{#41415}
4 years ago (2016-12-01 09:42:48 UTC) #39
Michael Achenbach
This might break: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/builds/3818 Could you take a look if it repro's?
4 years ago (2016-12-01 11:15:26 UTC) #41
petermarshall
On 2016/12/01 at 11:15:26, machenbach wrote: > This might break: > https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/builds/3818 > > Could ...
4 years ago (2016-12-01 11:46:20 UTC) #42
petermarshall
On 2016/12/01 at 11:46:20, petermarshall wrote: > On 2016/12/01 at 11:15:26, machenbach wrote: > > ...
4 years ago (2016-12-01 15:41:52 UTC) #43
Michael Achenbach
4 years ago (2016-12-02 08:07:19 UTC) #44
Message was sent while issue was closed.
On 2016/12/01 15:41:52, petermarshall wrote:
> On 2016/12/01 at 11:46:20, petermarshall wrote:
> > On 2016/12/01 at 11:15:26, machenbach wrote:
> > > This might break:
> > >
>
https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%...
> > > 
> > > Could you take a look if it repro's?
> > 
> > OK - taking a look
> 
> Could repro locally.
> It looks like this CL uncovers a problem with a WASM CL - have reverted it:
> https://codereview.chromium.org/2538183003/

Looks like the revert didn't stick yet...

Powered by Google App Engine
This is Rietveld 408576698