• mbrandy's avatar
    PPC: [builtins] Unify the various versions of [[Call]] with a Call builtin. · 31a9396e
    mbrandy authored
    Port ccbb4ff0
    
    Original commit message:
        The new Call and CallFunction builtins supersede the current
        CallFunctionStub (and CallIC magic) and will be the single bottleneck
        for all calling, including the currently special Function.prototype.call
        and Function.prototype.apply builtins, which had handwritten (and
        not fully compliant) versions of CallFunctionStub, and also the
        CallIC(s), which where also slightly different.
    
        This also reduces the overhead for API function calls, which is still
        unnecessary high, but let's do that step-by-step.
    
        This also fixes a bunch of cases where the implicit ToObject for
        sloppy receivers was done in the wrong context (in the caller
        context instead of the callee context), which basically meant
        that we allowed cross context access to %ObjectPrototype%.
    
        MIPS and MIPS64 ports contributed by akos.palfi@imgtec.com.
    
    R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
    BUG=v8:4413
    LOG=n
    
    Review URL: https://codereview.chromium.org/1327093002
    
    Cr-Commit-Position: refs/heads/master@{#30656}
    31a9396e
macro-assembler-ppc.h 65.6 KB