• bmeurer's avatar
    [runtime] Replace COMPARE/COMPARE_STRONG with proper Object::Compare. · 593c655a
    bmeurer authored
    This removes the weird COMPARE and COMPARE_STRONG JavaScript builtins
    and replaces them with a proper C++ implementation in Object::Compare
    and appropriate wrappers Object::LessThan, Object::GreaterThan, and
    friends that are intended to be used by a true/false returning CompareIC
    in the future, as well as the interpreter.  As a short-term solution we
    provide %Compare and %Compare_Strong entry points for the current
    CompareIC that return the appropriate integer values expected by
    fullcodegen currently.
    
    Now the Abstract Relational Comparison is also using the correct
    ToPrimitive implementation, which properly supports @@toPrimitive.
    
    BUG=v8:4307
    LOG=n
    
    Review URL: https://codereview.chromium.org/1350113002
    
    Cr-Commit-Position: refs/heads/master@{#30816}
    593c655a
full-codegen.h 38.1 KB