• bmeurer's avatar
    Correctify instanceof and make it optimizable. · 5d875a57
    bmeurer authored
    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.
    
    BUG=v8:4376
    LOG=y
    
    Review URL: https://codereview.chromium.org/1304633002
    
    Cr-Commit-Position: refs/heads/master@{#30342}
    5d875a57
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
simdjs Loading commit data...
test262 Loading commit data...
test262-es6 Loading commit data...
unittests Loading commit data...
webkit Loading commit data...