• bmeurer's avatar
    [compiler] Initial TurboFan code stubs for abstract relational comparison. · 62bc168d
    bmeurer authored
    This adds new code stubs for abstract relational comparison,
    namely LessThanStub, LessThanOrEqualStub, GreaterThanStub and
    GreaterThanOrEqualStub, and hooks them up for Ignition and TurboFan.
    These stubs implement the full compare operation without any
    unpredictable bailouts. Currently they still go to C++ for string
    comparisons, and also use the %ToPrimitive_Number runtime entry, as
    we still lack a stub for the ToPrimitive operation. These issues
    will be addressed separately in follow-up CLs.
    
    Drive-by-fix: Add support for deferred code in the RawMachineAssembler
    and CodeStubAssembler. A block can be marked as deferred by marking its
    Label as deferred, which will then make the register allocator penalize
    this block and prefer better register assignments for the other blocks.
    
    R=epertoso@chromium.org
    
    Review URL: https://codereview.chromium.org/1759133002
    
    Cr-Commit-Position: refs/heads/master@{#34463}
    62bc168d
js-generic-lowering.cc 32.7 KB