• mbrandy's avatar
    PPC: [builtins] Unify the String constructor. · b82efa82
    mbrandy authored
    Port a3d6f6cc
    
    Original commit message:
        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=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
    BUG=
    
    Review URL: https://codereview.chromium.org/1354663002
    
    Cr-Commit-Position: refs/heads/master@{#30809}
    b82efa82
builtins-ppc.cc 61.6 KB