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

Issue 2620943002: [ESnext] Implement Object Rest (Closed)

Created:
3 years, 11 months ago by gsathya
Modified:
3 years, 11 months ago
CC:
v8-reviews_googlegroups.com, Michael Hablich
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[ESnext] Implement Object Rest This rewrites the rest property into a runtime call which sets up the correct properties in the newly created object. - Changes flag to --harmony-object-rest-spread - Changes pattern rewriter to desugar rest property - Adds new runtime function CopyDataPropertiesWithExcludedProperties BUG=v8:5549 Review-Url: https://codereview.chromium.org/2620943002 Cr-Commit-Position: refs/heads/master@{#42430} Committed: https://chromium.googlesource.com/v8/v8/+/54b5c4b853e32d3a976072ead8ea880e55f45d9f

Patch Set 1 #

Patch Set 2 : work work work #

Patch Set 3 : Remove comment #

Total comments: 16

Patch Set 4 : more tests + address comments #

Patch Set 5 : add todo and test #

Total comments: 10

Patch Set 6 : fix test #

Patch Set 7 : rebase #

Patch Set 8 : use %ToName #

Patch Set 9 : fixes #

Total comments: 16

Patch Set 10 : more fixes #

Total comments: 2

Patch Set 11 : add test #

Patch Set 12 : fix test + rebase #

Total comments: 8

Patch Set 13 : fix nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+460 lines, -165 lines) Patch
M src/ast/ast.h View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +14 lines, -5 lines 0 comments Download
M src/bootstrapper.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -2 lines 0 comments Download
M src/builtins/builtins-object.cc View 1 2 3 1 chunk +2 lines, -3 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M src/messages.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 9 1 chunk +6 lines, -3 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 8 9 5 chunks +31 lines, -9 lines 0 comments Download
M src/parsing/parser.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -2 lines 0 comments Download
M src/parsing/parser-base.h View 1 2 3 4 5 6 7 8 10 chunks +36 lines, -19 lines 0 comments Download
M src/parsing/pattern-rewriter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +50 lines, -7 lines 0 comments Download
M src/parsing/preparser.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -2 lines 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 5 6 7 8 1 chunk +51 lines, -50 lines 0 comments Download
M src/runtime/runtime-object.cc View 1 2 3 4 5 6 7 8 9 2 chunks +27 lines, -4 lines 0 comments Download
M test/cctest/test-parsing.cc View 1 2 3 4 5 6 7 8 9 10 chunks +112 lines, -56 lines 0 comments Download
A test/mjsunit/harmony/object-rest-basic.js View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +122 lines, -0 lines 0 comments Download
M test/mjsunit/harmony/object-spread-basic.js View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 63 (44 generated)
gsathya
Will add more mjsunit and parsing tests. PTAL.
3 years, 11 months ago (2017-01-10 22:54:08 UTC) #3
adamk
You can probably ignore comments in here that relate to JSArray... https://codereview.chromium.org/2620943002/diff/40001/src/ast/ast.h File src/ast/ast.h (right): ...
3 years, 11 months ago (2017-01-10 23:22:56 UTC) #4
gsathya
https://codereview.chromium.org/2620943002/diff/40001/src/ast/ast.h File src/ast/ast.h (right): https://codereview.chromium.org/2620943002/diff/40001/src/ast/ast.h#newcode1480 src/ast/ast.h:1480: bool has_rest_property_; On 2017/01/10 23:22:55, adamk wrote: > This ...
3 years, 11 months ago (2017-01-12 21:27:41 UTC) #12
adamk
The biggest issue now is this ToPropertyKey thing; adding rmcilroy for his thoughts on whether ...
3 years, 11 months ago (2017-01-12 22:43:08 UTC) #20
adamk
On 2017/01/12 22:43:08, adamk wrote: > The biggest issue now is this ToPropertyKey thing; adding ...
3 years, 11 months ago (2017-01-12 22:50:06 UTC) #21
rmcilroy
On 2017/01/12 22:50:06, adamk wrote: > On 2017/01/12 22:43:08, adamk wrote: > > The biggest ...
3 years, 11 months ago (2017-01-13 11:24:24 UTC) #30
adamk
On 2017/01/13 11:24:24, rmcilroy wrote: > On 2017/01/12 22:50:06, adamk wrote: > > On 2017/01/12 ...
3 years, 11 months ago (2017-01-13 19:08:49 UTC) #31
gsathya
https://codereview.chromium.org/2620943002/diff/80001/src/objects.cc File src/objects.cc (right): https://codereview.chromium.org/2620943002/diff/80001/src/objects.cc#newcode2010 src/objects.cc:2010: if (*search_element == (*arguments)[i]) { On 2017/01/12 22:43:08, adamk ...
3 years, 11 months ago (2017-01-17 19:28:59 UTC) #34
adamk
Looking good, a few stylistic nits below and more test suggestions. https://codereview.chromium.org/2620943002/diff/160001/src/objects.cc File src/objects.cc (right): ...
3 years, 11 months ago (2017-01-17 19:56:33 UTC) #37
gsathya
https://codereview.chromium.org/2620943002/diff/160001/src/objects.cc File src/objects.cc (right): https://codereview.chromium.org/2620943002/diff/160001/src/objects.cc#newcode2006 src/objects.cc:2006: bool HasExcludedProperty(ScopedVector<Handle<Name>>* excluded_properties, On 2017/01/17 19:56:33, adamk wrote: > ...
3 years, 11 months ago (2017-01-17 21:59:23 UTC) #40
adamk
lgtm with one more test https://codereview.chromium.org/2620943002/diff/180001/test/mjsunit/harmony/object-rest-basic.js File test/mjsunit/harmony/object-rest-basic.js (right): https://codereview.chromium.org/2620943002/diff/180001/test/mjsunit/harmony/object-rest-basic.js#newcode118 test/mjsunit/harmony/object-rest-basic.js:118: var [...{...z}] = [{ ...
3 years, 11 months ago (2017-01-17 22:21:06 UTC) #41
gsathya
https://codereview.chromium.org/2620943002/diff/180001/test/mjsunit/harmony/object-rest-basic.js File test/mjsunit/harmony/object-rest-basic.js (right): https://codereview.chromium.org/2620943002/diff/180001/test/mjsunit/harmony/object-rest-basic.js#newcode118 test/mjsunit/harmony/object-rest-basic.js:118: var [...{...z}] = [{ x: 1}]; On 2017/01/17 22:21:06, ...
3 years, 11 months ago (2017-01-17 23:02:13 UTC) #45
adamk
Thanks, still lgtm
3 years, 11 months ago (2017-01-17 23:04:14 UTC) #47
Dan Ehrenberg
lgtm Sadly, I don't see any spread/rest test262 PRs. Any way I could tempt you ...
3 years, 11 months ago (2017-01-17 23:53:14 UTC) #50
Dan Ehrenberg
lgtm lgtm Sadly, I don't see any spread/rest test262 PRs. Any way I could tempt ...
3 years, 11 months ago (2017-01-17 23:53:18 UTC) #51
gsathya
I pinged sebastian markbage about tests and he said he will write some this week. ...
3 years, 11 months ago (2017-01-18 00:58:21 UTC) #54
Dan Ehrenberg
lgtm
3 years, 11 months ago (2017-01-18 01:02:05 UTC) #55
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/2620943002/240001
3 years, 11 months ago (2017-01-18 01:03:19 UTC) #60
commit-bot: I haz the power
3 years, 11 months ago (2017-01-18 01:05:26 UTC) #63
Message was sent while issue was closed.
Committed patchset #13 (id:240001) as
https://chromium.googlesource.com/v8/v8/+/54b5c4b853e32d3a976072ead8ea880e55f...

Powered by Google App Engine
This is Rietveld 408576698