• bmeurer's avatar
    [ic] Also collect known map for relational comparison. · e56f265f
    bmeurer authored
    Previously we only collected the known map for equality comparisons. But
    if we also collect it for relational comparisons, we can inline a fast
    path of ToPrimitive on the objects, which is especially interesting
    since both sides have the same map.
    
    For now we only inline a very limited subset of ToPrimitive in
    Crankshaft, which is when the receiver map (and its prototype chain)
    doesn't have @@toPrimitive, and both valueOf and toString are the
    default versions on the %ObjectPrototype%. In this case the relational
    comparison would reduce to a string comparison of "[object CLASS]" with
    itself and so we can reduce that to a boolean constant plus map checks
    on both left and right hand side, plus code dependencies on the
    prototype chain. This repairs the regression on box2d.
    
    R=jkummerow@chromium.org
    BUG=chromium:534200
    LOG=n
    
    Review URL: https://codereview.chromium.org/1355113002
    
    Cr-Commit-Position: refs/heads/master@{#30852}
    e56f265f
Name
Last commit
Last update
..
OWNERS Loading commit data...
assembler-mips-inl.h Loading commit data...
assembler-mips.cc Loading commit data...
assembler-mips.h Loading commit data...
builtins-mips.cc Loading commit data...
code-stubs-mips.cc Loading commit data...
code-stubs-mips.h Loading commit data...
codegen-mips.cc Loading commit data...
codegen-mips.h Loading commit data...
constants-mips.cc Loading commit data...
constants-mips.h Loading commit data...
cpu-mips.cc Loading commit data...
deoptimizer-mips.cc Loading commit data...
disasm-mips.cc Loading commit data...
frames-mips.cc Loading commit data...
frames-mips.h Loading commit data...
interface-descriptors-mips.cc Loading commit data...
lithium-codegen-mips.cc Loading commit data...
lithium-codegen-mips.h Loading commit data...
lithium-gap-resolver-mips.cc Loading commit data...
lithium-gap-resolver-mips.h Loading commit data...
lithium-mips.cc Loading commit data...
lithium-mips.h Loading commit data...
macro-assembler-mips.cc Loading commit data...
macro-assembler-mips.h Loading commit data...
simulator-mips.cc Loading commit data...
simulator-mips.h Loading commit data...