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

Issue 913073003: [es6] implement Reflect.apply() & Reflect.construct() (Closed)

Created:
5 years, 10 months ago by caitp (gmail)
Modified:
5 years, 9 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] implement Reflect.apply() & Reflect.construct() BUG=v8:3900 LOG=N R=dslomov@chromium.org Committed: https://crrev.com/d21fd15467e16f185e511dbfbaeef7caddfe804a Cr-Commit-Position: refs/heads/master@{#27316}

Patch Set 1 #

Patch Set 2 : Add fixups to follow spec closer, and tests #

Patch Set 3 : Few more tests #

Patch Set 4 : Add Reflect.construct support #

Total comments: 4

Patch Set 5 : Add tests for newTarget behaviour, refactor tests to use O.getPrototypeOf() instead of instanceof #

Patch Set 6 : Make the constant work better #

Patch Set 7 : Rebased #

Total comments: 9

Patch Set 8 : Add extra tests for newTarget + note about bug #

Patch Set 9 : Rebase (oops) and share code for iterating over arguments loop and pushing #

Patch Set 10 : Remove phantom edits #

Total comments: 5

Patch Set 11 : Share more code, reorganize PushAppliedArguments so `key` isn't needed outside it #

Patch Set 12 : Implement ia32 port, fix some wrong comments in x64 #

Patch Set 13 : Implement ARM port #

Patch Set 14 : Implement ARM64 port #

Patch Set 15 : Rebase + use InitializeGlobal() instead of hack in bootstrapper #

Total comments: 4

Patch Set 16 : Rebase #

Patch Set 17 : Initialize Reflect global object only flag set #

Patch Set 18 : Rebase + refactor for 7478c5a0 #

Patch Set 19 : Install ReflectApply/ReflectConstruct during InitializeExperimentalGlobal() #

Patch Set 20 : Fix arm #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1370 lines, -262 lines) Patch
M BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -0 lines 0 comments Download
M src/arm/builtins-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +163 lines, -59 lines 0 comments Download
M src/arm64/builtins-arm64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +175 lines, -64 lines 0 comments Download
M src/bootstrapper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +45 lines, -0 lines 0 comments Download
M src/builtins.h View 1 2 3 3 chunks +6 lines, -0 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -1 line 0 comments Download
A src/harmony-reflect.js View 1 2 3 1 chunk +18 lines, -0 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +195 lines, -71 lines 0 comments Download
M src/macros.py View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
M src/messages.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -0 lines 0 comments Download
M src/runtime.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +89 lines, -2 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +178 lines, -64 lines 0 comments Download
A test/mjsunit/harmony/reflect-apply.js View 1 2 3 4 1 chunk +212 lines, -0 lines 0 comments Download
A test/mjsunit/harmony/reflect-construct.js View 1 2 3 4 5 6 7 1 chunk +277 lines, -0 lines 0 comments Download
M tools/gyp/v8.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 50 (5 generated)
caitp (gmail)
Basic work on an implementation of Reflect.apply() (x64 only) which shares code with FunctionApply. Establishing ...
5 years, 10 months ago (2015-02-18 22:44:57 UTC) #1
caitp (gmail)
On 2015/02/18 22:44:57, caitp wrote: > Basic work on an implementation of Reflect.apply() (x64 only) ...
5 years, 10 months ago (2015-02-19 23:10:32 UTC) #3
arv (Not doing code reviews)
On 2015/02/19 23:10:32, caitp wrote: > On 2015/02/18 22:44:57, caitp wrote: > > Basic work ...
5 years, 10 months ago (2015-02-20 00:33:21 UTC) #4
Dmitry Lomov (no reviews)
The approach looks good to me. Can you send an intent-to-implement? I for one will ...
5 years, 9 months ago (2015-02-27 11:24:25 UTC) #5
caitp (gmail)
On 2015/02/27 11:24:25, Dmitry Lomov (chromium) wrote: > The approach looks good to me. Can ...
5 years, 9 months ago (2015-02-27 14:00:12 UTC) #6
caitp (gmail)
On 2015/02/27 14:00:12, caitp wrote: > On 2015/02/27 11:24:25, Dmitry Lomov (chromium) wrote: > > ...
5 years, 9 months ago (2015-02-27 18:06:24 UTC) #7
Dmitry Lomov (no reviews)
On 2015/02/27 18:06:24, caitp wrote: > On 2015/02/27 14:00:12, caitp wrote: > > On 2015/02/27 ...
5 years, 9 months ago (2015-02-27 20:09:29 UTC) #8
Dmitry Lomov (no reviews)
On 2015/02/27 14:00:12, caitp wrote: > On 2015/02/27 11:24:25, Dmitry Lomov (chromium) wrote: > > ...
5 years, 9 months ago (2015-02-27 20:19:03 UTC) #9
Dmitry Lomov (no reviews)
On 2015/02/27 20:09:29, Dmitry Lomov (chromium) wrote: > On 2015/02/27 18:06:24, caitp wrote: > > ...
5 years, 9 months ago (2015-02-27 23:20:44 UTC) #10
caitp (gmail)
On 2015/02/27 23:20:44, Dmitry Lomov (chromium) wrote: > On 2015/02/27 20:09:29, Dmitry Lomov (chromium) wrote: ...
5 years, 9 months ago (2015-03-03 13:50:15 UTC) #11
arv (Not doing code reviews)
You should be able to test new.target by doing something like. function C() { this[9] ...
5 years, 9 months ago (2015-03-03 14:25:52 UTC) #12
caitp (gmail)
On 2015/03/03 14:25:52, arv wrote: > You should be able to test new.target by doing ...
5 years, 9 months ago (2015-03-03 15:37:56 UTC) #13
caitp (gmail)
https://codereview.chromium.org/913073003/diff/60001/src/runtime.js File src/runtime.js (right): https://codereview.chromium.org/913073003/diff/60001/src/runtime.js#newcode478 src/runtime.js:478: if (length > 0x800000) { On 2015/03/03 14:25:52, arv ...
5 years, 9 months ago (2015-03-03 15:53:49 UTC) #14
caitp (gmail)
@arv re: chat on IRC, I've tried the last rebased patchset with 1604bd4 reverted and ...
5 years, 9 months ago (2015-03-04 03:29:39 UTC) #15
arv (Not doing code reviews)
https://codereview.chromium.org/913073003/diff/120001/src/bootstrapper.cc File src/bootstrapper.cc (right): https://codereview.chromium.org/913073003/diff/120001/src/bootstrapper.cc#newcode2930 src/bootstrapper.cc:2930: // Shouldn't InitializeExperimentalGlobal() happen before Dmitry fixed this I ...
5 years, 9 months ago (2015-03-04 09:45:01 UTC) #16
caitp (gmail)
https://codereview.chromium.org/913073003/diff/120001/src/bootstrapper.cc File src/bootstrapper.cc (right): https://codereview.chromium.org/913073003/diff/120001/src/bootstrapper.cc#newcode2930 src/bootstrapper.cc:2930: // Shouldn't InitializeExperimentalGlobal() happen before On 2015/03/04 09:45:01, arv ...
5 years, 9 months ago (2015-03-04 13:24:15 UTC) #17
arv (Not doing code reviews)
https://codereview.chromium.org/913073003/diff/120001/test/mjsunit/harmony/reflect-construct.js File test/mjsunit/harmony/reflect-construct.js (right): https://codereview.chromium.org/913073003/diff/120001/test/mjsunit/harmony/reflect-construct.js#newcode51 test/mjsunit/harmony/reflect-construct.js:51: assertSame(1, O[9]); On 2015/03/04 13:24:14, caitp wrote: > On ...
5 years, 9 months ago (2015-03-04 13:30:33 UTC) #18
caitp (gmail)
https://codereview.chromium.org/913073003/diff/120001/test/mjsunit/harmony/reflect-construct.js File test/mjsunit/harmony/reflect-construct.js (right): https://codereview.chromium.org/913073003/diff/120001/test/mjsunit/harmony/reflect-construct.js#newcode51 test/mjsunit/harmony/reflect-construct.js:51: assertSame(1, O[9]); On 2015/03/04 13:30:33, arv wrote: > On ...
5 years, 9 months ago (2015-03-04 13:54:56 UTC) #19
caitp (gmail)
On 2015/03/04 13:54:56, caitp wrote: > https://codereview.chromium.org/913073003/diff/120001/test/mjsunit/harmony/reflect-construct.js > File test/mjsunit/harmony/reflect-construct.js (right): > > https://codereview.chromium.org/913073003/diff/120001/test/mjsunit/harmony/reflect-construct.js#newcode51 > ...
5 years, 9 months ago (2015-03-04 13:59:28 UTC) #20
caitp (gmail)
On 2015/03/04 13:59:28, caitp wrote: > On 2015/03/04 13:54:56, caitp wrote: > > > https://codereview.chromium.org/913073003/diff/120001/test/mjsunit/harmony/reflect-construct.js ...
5 years, 9 months ago (2015-03-04 14:01:01 UTC) #21
caitp (gmail)
On 2015/03/04 13:59:28, caitp wrote: > On 2015/03/04 13:54:56, caitp wrote: > > > https://codereview.chromium.org/913073003/diff/120001/test/mjsunit/harmony/reflect-construct.js ...
5 years, 9 months ago (2015-03-04 14:01:02 UTC) #22
caitp (gmail)
So Runtime_NewObjectHelper creates an object using the initial map of whatever the constructor was, and ...
5 years, 9 months ago (2015-03-04 14:44:11 UTC) #23
Dmitry Lomov (no reviews)
On 2015/03/04 14:44:11, caitp wrote: > So Runtime_NewObjectHelper creates an object using the initial map ...
5 years, 9 months ago (2015-03-04 15:24:09 UTC) #24
caitp (gmail)
On 2015/03/04 15:24:09, Dmitry Lomov (chromium) wrote: > On 2015/03/04 14:44:11, caitp wrote: > > ...
5 years, 9 months ago (2015-03-04 15:43:00 UTC) #25
Dmitry Lomov (no reviews)
On 2015/03/04 15:43:00, caitp wrote: > On 2015/03/04 15:24:09, Dmitry Lomov (chromium) wrote: > > ...
5 years, 9 months ago (2015-03-04 15:54:46 UTC) #26
caitp (gmail)
dslomov@ do you have an opinion on what Erik was saying, about sharing more code ...
5 years, 9 months ago (2015-03-11 17:54:47 UTC) #27
Dmitry Lomov (no reviews)
On 2015/03/11 17:54:47, caitp wrote: > dslomov@ do you have an opinion on what Erik ...
5 years, 9 months ago (2015-03-12 11:44:13 UTC) #28
caitp (gmail)
On 2015/03/12 11:44:13, Dmitry Lomov (chromium) wrote: > On 2015/03/11 17:54:47, caitp wrote: > > ...
5 years, 9 months ago (2015-03-12 14:44:24 UTC) #29
Dmitry Lomov (no reviews)
This is much nice, thanks! A couple of comments https://codereview.chromium.org/913073003/diff/180001/src/x64/builtins-x64.cc File src/x64/builtins-x64.cc (right): https://codereview.chromium.org/913073003/diff/180001/src/x64/builtins-x64.cc#newcode1057 src/x64/builtins-x64.cc:1057: ...
5 years, 9 months ago (2015-03-13 09:39:09 UTC) #30
caitp (gmail)
https://codereview.chromium.org/913073003/diff/180001/src/x64/builtins-x64.cc File src/x64/builtins-x64.cc (right): https://codereview.chromium.org/913073003/diff/180001/src/x64/builtins-x64.cc#newcode1280 src/x64/builtins-x64.cc:1280: // Check the stack for overflow. We are not ...
5 years, 9 months ago (2015-03-13 15:10:37 UTC) #31
Dmitry Lomov (no reviews)
https://codereview.chromium.org/913073003/diff/180001/src/x64/builtins-x64.cc File src/x64/builtins-x64.cc (right): https://codereview.chromium.org/913073003/diff/180001/src/x64/builtins-x64.cc#newcode1280 src/x64/builtins-x64.cc:1280: // Check the stack for overflow. We are not ...
5 years, 9 months ago (2015-03-13 16:40:03 UTC) #32
caitp (gmail)
On 2015/03/13 16:40:03, Dmitry Lomov (chromium) wrote: > https://codereview.chromium.org/913073003/diff/180001/src/x64/builtins-x64.cc > File src/x64/builtins-x64.cc (right): > > ...
5 years, 9 months ago (2015-03-13 18:22:43 UTC) #33
Dmitry Lomov (no reviews)
looking good, just a couple of comments on bootstrapper https://codereview.chromium.org/913073003/diff/270016/src/bootstrapper.cc File src/bootstrapper.cc (right): https://codereview.chromium.org/913073003/diff/270016/src/bootstrapper.cc#newcode1726 src/bootstrapper.cc:1726: ...
5 years, 9 months ago (2015-03-16 09:42:25 UTC) #34
caitp (gmail)
https://codereview.chromium.org/913073003/diff/270016/src/bootstrapper.cc File src/bootstrapper.cc (right): https://codereview.chromium.org/913073003/diff/270016/src/bootstrapper.cc#newcode1726 src/bootstrapper.cc:1726: Handle<JSGlobalObject> global(JSGlobalObject::cast( On 2015/03/16 09:42:24, Dmitry Lomov (chromium) wrote: ...
5 years, 9 months ago (2015-03-16 13:08:01 UTC) #35
caitp (gmail)
On 2015/03/16 13:08:01, caitp wrote: > https://codereview.chromium.org/913073003/diff/270016/src/bootstrapper.cc > File src/bootstrapper.cc (right): > > https://codereview.chromium.org/913073003/diff/270016/src/bootstrapper.cc#newcode1726 > ...
5 years, 9 months ago (2015-03-16 13:16:21 UTC) #36
Dmitry Lomov (no reviews)
On 2015/03/16 13:16:21, caitp wrote: > On 2015/03/16 13:08:01, caitp wrote: > > https://codereview.chromium.org/913073003/diff/270016/src/bootstrapper.cc > ...
5 years, 9 months ago (2015-03-18 10:49:39 UTC) #37
caitp (gmail)
On 2015/03/18 10:49:39, Dmitry Lomov (chromium) wrote: > On 2015/03/16 13:16:21, caitp wrote: > > ...
5 years, 9 months ago (2015-03-18 13:07:26 UTC) #38
caitp (gmail)
On 2015/03/18 13:07:26, caitp wrote: > On 2015/03/18 10:49:39, Dmitry Lomov (chromium) wrote: > > ...
5 years, 9 months ago (2015-03-18 13:31:40 UTC) #39
caitp (gmail)
On 2015/03/18 13:31:40, caitp wrote: > On 2015/03/18 13:07:26, caitp wrote: > > On 2015/03/18 ...
5 years, 9 months ago (2015-03-18 13:48:41 UTC) #40
Dmitry Lomov (no reviews)
lgtm
5 years, 9 months ago (2015-03-19 09:43:02 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/913073003/340001
5 years, 9 months ago (2015-03-19 13:20:09 UTC) #43
caitp (gmail)
On 2015/03/19 13:20:09, I haz the power (commit-bot) wrote: > CQ is trying da patch. ...
5 years, 9 months ago (2015-03-19 14:25:30 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/913073003/360001
5 years, 9 months ago (2015-03-19 14:25:50 UTC) #48
commit-bot: I haz the power
Committed patchset #20 (id:360001)
5 years, 9 months ago (2015-03-19 14:47:26 UTC) #49
commit-bot: I haz the power
5 years, 9 months ago (2015-03-19 14:47:40 UTC) #50
Message was sent while issue was closed.
Patchset 20 (id:??) landed as
https://crrev.com/d21fd15467e16f185e511dbfbaeef7caddfe804a
Cr-Commit-Position: refs/heads/master@{#27316}

Powered by Google App Engine
This is Rietveld 408576698