• chunyang.dai's avatar
    X87: [ic] Also collect known map for relational comparison. · 687ef62e
    chunyang.dai authored
    port e56f265f (r30852).
    
    original commit message:
    
        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.
    
    BUG=
    
    Review URL: https://codereview.chromium.org/1342243005
    
    Cr-Commit-Position: refs/heads/master@{#30897}
    687ef62e
Name
Last commit
Last update
..
OWNERS Loading commit data...
assembler-x87-inl.h Loading commit data...
assembler-x87.cc Loading commit data...
assembler-x87.h Loading commit data...
builtins-x87.cc Loading commit data...
code-stubs-x87.cc Loading commit data...
code-stubs-x87.h Loading commit data...
codegen-x87.cc Loading commit data...
codegen-x87.h Loading commit data...
cpu-x87.cc Loading commit data...
deoptimizer-x87.cc Loading commit data...
disasm-x87.cc Loading commit data...
frames-x87.cc Loading commit data...
frames-x87.h Loading commit data...
interface-descriptors-x87.cc Loading commit data...
lithium-codegen-x87.cc Loading commit data...
lithium-codegen-x87.h Loading commit data...
lithium-gap-resolver-x87.cc Loading commit data...
lithium-gap-resolver-x87.h Loading commit data...
lithium-x87.cc Loading commit data...
lithium-x87.h Loading commit data...
macro-assembler-x87.cc Loading commit data...
macro-assembler-x87.h Loading commit data...
simulator-x87.cc Loading commit data...
simulator-x87.h Loading commit data...