• mbrandy's avatar
    PPC: Correctify instanceof and make it optimizable. · 448a3c0f
    mbrandy authored
    Port 5d875a57
    
    Original commit message:
        The previous hack with HInstanceOfKnownGlobal was not only slower,
        but also very brittle and required a lot of weird hacks to support it. And
        what's even more important it wasn't even correct (because a map check
        on the lhs is never enough for instanceof).
    
        The new implementation provides a sane runtime implementation
        for InstanceOf plus a fast case in the InstanceOfStub, combined with
        a proper specialization in the case of a known global in CrankShaft,
        which does only the prototype chain walk (coupled with a code
        dependency on the known global).
    
        As a drive-by-fix: Also fix the incorrect Object.prototype.isPrototypeOf
        implementation.
    
    R=bmeurer@chromium.org, jyan@ca.ibm.com, dstence@us.ibm.com, joransiu@ca.ibm.com
    BUG=v8:4376
    LOG=n
    
    Review URL: https://codereview.chromium.org/1314263002
    
    Cr-Commit-Position: refs/heads/master@{#30419}
    448a3c0f
full-codegen-ppc.cc 181 KB