• bmeurer's avatar
    [builtins] Migrate Number predicates and make them optimizable. · 7ac19fe5
    bmeurer authored
    Migrate the isNaN, isFinite, Number.isFinite, Number.isInteger,
    Number.isSafeInteger and Number.isNaN predicates to TurboFan
    builtins and make them optimizable (for certain input types) in
    JavaScript callees being optimized by TurboFan. That means both
    the baseline and the optimized version is now always at maximum,
    consistent performance. Especially TurboFan suffered from poor
    baseline (and optimized) performance because it cannot play the
    same weird tricks that Crankshaft plays for %_IsSmi.
    
    This also adds a bunch of new tests to properly cover the use
    of the Harmony predicates in optimized code.
    
    R=franzih@chromium.org
    BUG=v8:5049,v8:5267
    
    Review-Url: https://codereview.chromium.org/2313073002
    Cr-Commit-Position: refs/heads/master@{#39242}
    7ac19fe5
js-builtin-reducer-unittest.cc 55.7 KB