• 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
Name
Last commit
Last update
..
OWNERS Loading commit data...
assembler-ppc-inl.h Loading commit data...
assembler-ppc.cc Loading commit data...
assembler-ppc.h Loading commit data...
builtins-ppc.cc Loading commit data...
code-stubs-ppc.cc Loading commit data...
code-stubs-ppc.h Loading commit data...
codegen-ppc.cc Loading commit data...
codegen-ppc.h Loading commit data...
constants-ppc.cc Loading commit data...
constants-ppc.h Loading commit data...
cpu-ppc.cc Loading commit data...
deoptimizer-ppc.cc Loading commit data...
disasm-ppc.cc Loading commit data...
frames-ppc.cc Loading commit data...
frames-ppc.h Loading commit data...
interface-descriptors-ppc.cc Loading commit data...
lithium-codegen-ppc.cc Loading commit data...
lithium-codegen-ppc.h Loading commit data...
lithium-gap-resolver-ppc.cc Loading commit data...
lithium-gap-resolver-ppc.h Loading commit data...
lithium-ppc.cc Loading commit data...
lithium-ppc.h Loading commit data...
macro-assembler-ppc.cc Loading commit data...
macro-assembler-ppc.h Loading commit data...
simulator-ppc.cc Loading commit data...
simulator-ppc.h Loading commit data...