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

Issue 1344893002: [builtins] Unify the String constructor. (Closed)

Created:
5 years, 3 months ago by Benedikt Meurer
Modified:
5 years, 3 months ago
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

[builtins] Unify the String constructor. Implement the String constructor completely as native builtin, avoiding the need to do gymnastics in JavaScript builtin to properly detect the no argument case (which is different from the undefined argument case) and also allowing to just tailcall through to ToString or SymbolDescriptiveString for the common case. Also the JavaScript builtin was misleading since the case for construct call was unused, but could be triggered in a wrong way once we support tail calls from constructor functions. This refactoring allows us to properly implement subclassing for String builtins, once we have the correct initial_map on derived classes (it's merely a matter of using NewTarget instead of the target register now). This introduces a new %SymbolDescriptiveString runtime entry, which is also used by Symbol.toString() now. R=mstarzinger@chromium.org Committed: https://crrev.com/a3d6f6cce317dbe1d31079eb81e15e49f3fb687a Cr-Commit-Position: refs/heads/master@{#30759}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+476 lines, -117 lines) Patch
M src/arm/builtins-arm.cc View 3 chunks +68 lines, -14 lines 0 comments Download
M src/arm64/builtins-arm64.cc View 3 chunks +61 lines, -3 lines 0 comments Download
M src/bootstrapper.cc View 1 chunk +7 lines, -6 lines 0 comments Download
M src/builtins.h View 2 chunks +71 lines, -69 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 chunk +62 lines, -1 line 0 comments Download
M src/mips/builtins-mips.cc View 3 chunks +63 lines, -3 lines 0 comments Download
M src/mips64/builtins-mips64.cc View 2 chunks +61 lines, -2 lines 0 comments Download
M src/runtime/runtime.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime/runtime-symbol.cc View 2 chunks +18 lines, -0 lines 0 comments Download
M src/string.js View 3 chunks +0 lines, -16 lines 0 comments Download
M src/symbol.js View 1 chunk +1 line, -2 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 chunk +63 lines, -1 line 0 comments Download

Dependent Patchsets:

Messages

Total messages: 28 (15 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/1344893002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1344893002/80001
5 years, 3 months ago (2015-09-16 07:37:37 UTC) #4
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/9761)
5 years, 3 months ago (2015-09-16 07:39:09 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1344893002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1344893002/80001
5 years, 3 months ago (2015-09-16 08:22:39 UTC) #11
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_nodcheck_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_nodcheck_rel/builds/6596)
5 years, 3 months ago (2015-09-16 08:24:33 UTC) #13
Michael Starzinger
LGTM.
5 years, 3 months ago (2015-09-16 08:59:03 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1344893002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1344893002/80001
5 years, 3 months ago (2015-09-16 08:59:34 UTC) #17
commit-bot: I haz the power
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/9774)
5 years, 3 months ago (2015-09-16 09:02:10 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1344893002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1344893002/80001
5 years, 3 months ago (2015-09-16 10:14:25 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1344893002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1344893002/80001
5 years, 3 months ago (2015-09-16 10:36:04 UTC) #24
commit-bot: I haz the power
Committed patchset #1 (id:80001)
5 years, 3 months ago (2015-09-16 10:44:41 UTC) #25
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/a3d6f6cce317dbe1d31079eb81e15e49f3fb687a Cr-Commit-Position: refs/heads/master@{#30759}
5 years, 3 months ago (2015-09-16 10:44:54 UTC) #26
Michael Achenbach
Please fix layout test expectations: https://uberchromegw.corp.google.com/i/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/1898
5 years, 3 months ago (2015-09-16 12:31:24 UTC) #27
Michael Achenbach
5 years, 3 months ago (2015-09-16 12:31:25 UTC) #28
Message was sent while issue was closed.
Please fix layout test expectations:
https://uberchromegw.corp.google.com/i/client.v8.fyi/builders/V8-Blink%20Linu...

Powered by Google App Engine
This is Rietveld 408576698