• Michael Starzinger's avatar
    [asm.js] Fix Math.abs signature to return unsigned. · 02d999ab
    Michael Starzinger authored
    This fixes the signature of "Math.abs" from "(signed) -> signed" to
    "(signed) -> unsigned" and hence fixes cases where the absolute value
    would overflow the range of signed 32-bit values. This is in sync with
    spec erratas (and ECMAScript semantics).
    
    Note that this also switches the underlying implementation of the above
    absolute value function to a branch-free version.
    
    R=clemensh@chromium.org
    TEST=mjsunit/regress/regress-6838-3
    BUG=v8:6838
    
    Change-Id: Ib13b7ecd336ae386cbde7c574e727bf52f841e00
    Reviewed-on: https://chromium-review.googlesource.com/684181
    Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48169}
    02d999ab
regress-6838-3.js 988 Bytes