• Benedikt Meurer's avatar
    [turbofan] Preserve NaN properly for NumberMin and NumberMax. · a2f7867d
    Benedikt Meurer authored
    When one of the inputs to NumberMin or NumberMax is NaN we need to
    return NaN, ignoring whatever else was passed. Specifically we cannot
    lower `NumberMin(x,y)` to `(x < y) ? x : y` if `x` can be NaN. So
    limit this optimization to only perform the above lowering if we
    know that `x` is an OrderedNumber and `y` is a PlainNumber (or if
    the difference between zeros doesn't matter, an OrderedNumber as
    well).
    
    Bug: chromium:905457
    Change-Id: If05f19255e14789ab0e277e072469c40e161b85b
    Reviewed-on: https://chromium-review.googlesource.com/c/1337576Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57535}
    a2f7867d
simplified-lowering.cc 165 KB