• 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
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...