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 #
Dependent Patchsets: Messages
Total messages: 28 (15 generated)
|