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

Issue 1470193002: Array/TypedArray/ArrayBuffer method subclassing and @@species (Closed)

Created:
5 years, 1 month ago by Dan Ehrenberg
Modified:
4 years, 11 months ago
Reviewers:
CC:
Michael Hablich, v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

This patch implements the ES2015 library changes for subclassing of Arrays, TypedArrays and ArrayBuffers, including the use of @@species. Several methods, such as map, return an instance of a constructor which is found based on the receiver. This patch passes all the test262 species-related tests except for Promises. I plan to break this up into several smaller patches to be easier to review, but this version is here to preview the big picture and test it all together. CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

Patch Set 1 #

Patch Set 2 : Make builtins call %ArraySpeciesCreate, which is now in C++ (but needs porting). C++ builtins still… #

Patch Set 3 : More C++ conversion #

Patch Set 4 : The C++ compiles now #

Patch Set 5 : TypedArrays, things behind a flag, everyone getting @@species, still doesn't compile #

Patch Set 6 : concat support #

Patch Set 7 : Some tests #

Patch Set 8 : A couple initial test fixes #

Patch Set 9 : Fix a number of typos in array.js and typedarray.js #

Patch Set 10 : More typo fixes #

Patch Set 11 : Some more fixes, but still several test failures #

Patch Set 12 : Fix concat bug--now it works a little #

Patch Set 13 : Fix slice, splice, tests #

Patch Set 14 : Shockingly, most things work #

Patch Set 15 : Fix concat #

Patch Set 16 : Now passes (almost all of) my tests, and test262 (except Promise) #

Patch Set 17 : don't comment out part of isolate.cc #

Patch Set 18 : Improve style of ArraySpeciesConstructor #

Patch Set 19 : Fix TypedArray.prototype.map, and the test for TypedArray.of #

Patch Set 20 : Fix failing test #

Patch Set 21 : Fix map #

Patch Set 22 : disable ignition test #

Patch Set 23 : Fix test for cross-realm access #

Patch Set 24 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+439 lines, -129 lines) Patch
M src/builtins.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 23 chunks +114 lines, -55 lines 0 comments Download
M src/js/arraybuffer.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2 chunks +15 lines, -3 lines 0 comments Download
M src/js/regexp.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +4 lines, -0 lines 0 comments Download
M src/js/runtime.js View 1 2 3 4 5 6 7 8 9 3 chunks +34 lines, -2 lines 0 comments Download
M src/js/typedarray.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 11 chunks +51 lines, -38 lines 0 comments Download
M src/messages.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 3 chunks +7 lines, -1 line 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +1 line, -1 line 0 comments Download
M src/runtime/runtime-typedarray.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +5 lines, -3 lines 0 comments Download
M test/mjsunit/es6/typedarray-of.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +24 lines, -20 lines 0 comments Download
M test/mjsunit/harmony/species.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +169 lines, -0 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +1 line, -0 lines 0 comments Download
M test/mjsunit/regress/regress-544991.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +14 lines, -6 lines 0 comments Download

Messages

Total messages: 34 (18 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1470193002/300001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1470193002/300001
4 years, 11 months ago (2015-12-29 22:03:35 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_presubmit on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/9325)
4 years, 11 months ago (2015-12-29 22:06:20 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1470193002/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1470193002/320001
4 years, 11 months ago (2015-12-29 22:23:01 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_presubmit on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/9326)
4 years, 11 months ago (2015-12-29 22:26:06 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1470193002/340001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1470193002/340001
4 years, 11 months ago (2015-12-29 22:29:56 UTC) #10
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_mac_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel/builds/13623)
4 years, 11 months ago (2015-12-29 22:42:48 UTC) #13
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1470193002/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1470193002/360001
4 years, 11 months ago (2015-12-29 23:31:19 UTC) #15
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_mac_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel/builds/13626)
4 years, 11 months ago (2015-12-29 23:43:19 UTC) #17
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1470193002/380001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1470193002/380001
4 years, 11 months ago (2015-12-30 21:08:51 UTC) #19
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm64_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm64_rel/builds/13515)
4 years, 11 months ago (2015-12-30 21:27:49 UTC) #21
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1470193002/400001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1470193002/400001
4 years, 11 months ago (2015-12-30 21:59:46 UTC) #23
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm_rel/builds/11934)
4 years, 11 months ago (2015-12-30 22:12:20 UTC) #25
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1470193002/420001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1470193002/420001
4 years, 11 months ago (2015-12-30 22:46:49 UTC) #27
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 11 months ago (2015-12-30 23:55:38 UTC) #30
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1470193002/440001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1470193002/440001
4 years, 11 months ago (2015-12-31 00:18:16 UTC) #32
commit-bot: I haz the power
4 years, 11 months ago (2015-12-31 08:34:08 UTC) #34
Dry run: This issue passed the CQ dry run.

Powered by Google App Engine
This is Rietveld 408576698