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

Issue 1427483002: [es6] Better support for built-ins subclassing. (Closed)

Created:
5 years, 1 month ago by Igor Sheludko
Modified:
5 years, 1 month ago
Reviewers:
ulan, Toon Verwaest
CC:
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

[es6] Better support for built-ins subclassing. Create proper initial map for original constructor (new.target) instead of doing prototype transition on the base constructor's initial map. This approach fixes in-object slack tracking for subclass instances. This CL also fixes subclassing from String. BUG=v8:3101, v8:3330 LOG=Y Committed: https://crrev.com/cd5f48302a502154a0106d12e3066bd563c6340c Cr-Commit-Position: refs/heads/master@{#31680}

Patch Set 1 #

Total comments: 8

Patch Set 2 : Addressed comments + ports #

Patch Set 3 : Rebase #

Patch Set 4 : Map::CopyInitialMap() added #

Patch Set 5 : Arm and ia32 issues fixed #

Patch Set 6 : Avoid crashes in case of Function subclassing #

Total comments: 2

Patch Set 7 : Comments addressed, test updated #

Patch Set 8 : Test cleanup #

Unified diffs Side-by-side diffs Delta from patch set Stats (+784 lines, -124 lines) Patch
M src/arm/builtins-arm.cc View 1 2 3 4 4 chunks +33 lines, -13 lines 0 comments Download
M src/arm64/builtins-arm64.cc View 1 2 5 chunks +24 lines, -6 lines 0 comments Download
M src/heap/heap.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 3 4 5 chunks +28 lines, -4 lines 0 comments Download
M src/mips/builtins-mips.cc View 1 2 5 chunks +21 lines, -4 lines 0 comments Download
M src/mips64/builtins-mips64.cc View 1 2 5 chunks +21 lines, -4 lines 0 comments Download
M src/objects.h View 1 2 3 5 chunks +20 lines, -6 lines 0 comments Download
M src/objects.cc View 1 2 3 4 chunks +130 lines, -16 lines 0 comments Download
M src/objects-inl.h View 1 2 3 3 chunks +19 lines, -8 lines 0 comments Download
M src/objects-printer.cc View 1 2 5 chunks +30 lines, -18 lines 0 comments Download
M src/runtime/runtime-object.cc View 1 2 3 4 5 6 1 chunk +19 lines, -34 lines 0 comments Download
M src/runtime/runtime-typedarray.cc View 3 chunks +6 lines, -6 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 2 5 chunks +27 lines, -4 lines 0 comments Download
A test/mjsunit/es6/classes-subclass-builtins.js View 1 2 3 4 5 6 7 1 chunk +405 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 56 (29 generated)
Igor Sheludko
PTAL, other ports are on the way.
5 years, 1 month ago (2015-10-26 14:14:13 UTC) #2
Toon Verwaest
Looking good. Some minor comments. https://codereview.chromium.org/1427483002/diff/1/src/objects.cc File src/objects.cc (right): https://codereview.chromium.org/1427483002/diff/1/src/objects.cc#newcode11842 src/objects.cc:11842: original_constructor->shared()->CalculateInObjectProperties( Shouldn't we add ...
5 years, 1 month ago (2015-10-26 15:10:57 UTC) #6
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1427483002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1427483002/40001
5 years, 1 month ago (2015-10-27 12:01:24 UTC) #9
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_android_arm_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_android_arm_compile_rel/builds/9235) v8_linux_gcc_compile_rel on ...
5 years, 1 month ago (2015-10-27 12:02:26 UTC) #11
ulan
Heap part lgtm.
5 years, 1 month ago (2015-10-27 12:03:11 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/1427483002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1427483002/80001
5 years, 1 month ago (2015-10-27 12:53:57 UTC) #15
Igor Sheludko
Adressed comments and added ports. The CL changed significantly. https://codereview.chromium.org/1427483002/diff/1/src/objects.cc File src/objects.cc (right): https://codereview.chromium.org/1427483002/diff/1/src/objects.cc#newcode11842 src/objects.cc:11842: ...
5 years, 1 month ago (2015-10-27 12:56:12 UTC) #17
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/9458)
5 years, 1 month ago (2015-10-27 12:58:18 UTC) #19
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1427483002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1427483002/100001
5 years, 1 month ago (2015-10-27 13:32:34 UTC) #21
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_rel/builds/11052)
5 years, 1 month ago (2015-10-27 13:44:17 UTC) #23
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1427483002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1427483002/120001
5 years, 1 month ago (2015-10-27 13:45:54 UTC) #26
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-10-27 14:04:54 UTC) #28
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1427483002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1427483002/140001
5 years, 1 month ago (2015-10-28 21:14:18 UTC) #30
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-10-28 21:34:40 UTC) #32
Toon Verwaest
lgtm, but the CL description is a bit off :) https://codereview.chromium.org/1427483002/diff/140001/src/runtime/runtime-object.cc File src/runtime/runtime-object.cc (right): https://codereview.chromium.org/1427483002/diff/140001/src/runtime/runtime-object.cc#newcode995 ...
5 years, 1 month ago (2015-10-29 12:54:46 UTC) #33
Igor Sheludko
https://codereview.chromium.org/1427483002/diff/140001/src/runtime/runtime-object.cc File src/runtime/runtime-object.cc (right): https://codereview.chromium.org/1427483002/diff/140001/src/runtime/runtime-object.cc#newcode995 src/runtime/runtime-object.cc:995: if (function->has_initial_map() && original_function->has_initial_map()) { On 2015/10/29 12:54:46, Toon ...
5 years, 1 month ago (2015-10-29 15:26:22 UTC) #35
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1427483002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1427483002/160001
5 years, 1 month ago (2015-10-29 15:26:33 UTC) #37
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-10-29 15:52:35 UTC) #40
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1427483002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1427483002/180001
5 years, 1 month ago (2015-10-29 19:46:27 UTC) #42
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-10-29 20:14:57 UTC) #44
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1427483002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1427483002/200001
5 years, 1 month ago (2015-10-29 22:20:42 UTC) #47
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-10-29 22:52:35 UTC) #49
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1427483002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1427483002/200001
5 years, 1 month ago (2015-10-30 10:56:54 UTC) #52
commit-bot: I haz the power
Committed patchset #8 (id:200001)
5 years, 1 month ago (2015-10-30 10:58:08 UTC) #53
commit-bot: I haz the power
Patchset 8 (id:??) landed as https://crrev.com/cd5f48302a502154a0106d12e3066bd563c6340c Cr-Commit-Position: refs/heads/master@{#31680}
5 years, 1 month ago (2015-10-30 10:58:40 UTC) #54
Benedikt Meurer
A revert of this CL (patchset #8 id:200001) has been created in https://codereview.chromium.org/1416943005/ by bmeurer@chromium.org. ...
5 years, 1 month ago (2015-10-30 11:35:55 UTC) #55
Michael Achenbach
5 years, 1 month ago (2015-10-30 11:44:25 UTC) #56
Message was sent while issue was closed.
A revert of this CL (patchset #8 id:200001) has been created in
https://codereview.chromium.org/1417423005/ by machenbach@chromium.org.

The reason for reverting is: [Sheriff] nosnap failures. E.g.:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds....

Powered by Google App Engine
This is Rietveld 408576698