deps: cherry-pick 56f6a76 from upstream V8
Original commit message:
[turbofan] Fix -0 check for subnormals.
Previously we'd check `x` for -0 by testing `(1.0 / x) == -Infinity`,
but this will yield the wrong results when `x` is a subnormal, i.e.
really close to 0.
In CSA we already perform bit checks to test for -0, so teach TurboFan
to do the same for comparisons to -0 (via `Object.is`). We introduce a
new NumberIsMinusZero simplified operator to handle the case where
SimplifiedLowering already knows that the input is a number.
Bug: chromium:903043, v8:6882
Change-Id: I0cb7c568029b461a92fc183104d5f359b4bfe7f4
Reviewed-on: https://chromium-review.googlesource.com/c/1328802
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by:
Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57382}
PR-URL: https://github.com/nodejs/node/pull/25269
Refs: https://github.com/v8/v8/commit/56f6a763c27d77afbee997a50baa34996e97ba40
Fixes: https://github.com/nodejs/node/issues/25268
Reviewed-By:
Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By:
Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By:
Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By:
Gus Caplan <me@gus.host>
Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By:
James M Snell <jasnell@gmail.com>
parent
e54d11e2
Please register or sign in to comment