Skip to content

Commit 4b0dc3b

Browse files
committed
deps: V8: cherry-pick ab2340a9b994
Original commit message: M86-LTS: [compiler] Fix a bug in VisitSpeculativeIntegerAdditiveOp (cherry picked from commit 9313c4ce3f32ad81df1c65becccec7e129181ce3) No-Try: true No-Presubmit: true No-Tree-Checks: true Bug: chromium:1199345 Change-Id: I33bf71b33f43919fec4684054b5bf0a0787930ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2831478 Reviewed-by: Nico Hartmann <[email protected]> Commit-Queue: Georg Neis <[email protected]> Cr-Original-Commit-Position: refs/heads/master@{#74008} Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848412 Commit-Queue: Artem Sumaneev <[email protected]> Reviewed-by: Victor-Gabriel Savu <[email protected]> Cr-Commit-Position: refs/branch-heads/8.6@{nodejs#86} Cr-Branched-From: a64aed2333abf49e494d2a5ce24bbd14fff19f60-refs/heads/8.6.395@{#1} Cr-Branched-From: a626bc036236c9bf92ac7b87dc40c9e538b087e3-refs/heads/master@{#69472} Refs: v8/v8@ab2340a
1 parent 93c917c commit 4b0dc3b

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

common.gypi

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
# Reset this number to 0 on major V8 upgrades.
3838
# Increment by one for each non-official patch applied to deps/v8.
39-
'v8_embedder_string': '-node.61',
39+
'v8_embedder_string': '-node.62',
4040

4141
##### V8 defaults for Node.js #####
4242

deps/v8/src/compiler/simplified-lowering.cc

+8-3
Original file line numberDiff line numberDiff line change
@@ -1426,10 +1426,15 @@ class RepresentationSelector {
14261426
Type right_feedback_type = TypeOf(node->InputAt(1));
14271427

14281428
// Using Signed32 as restriction type amounts to promising there won't be
1429-
// signed overflow. This is incompatible with relying on a Word32
1430-
// truncation in order to skip the overflow check.
1429+
// signed overflow. This is incompatible with relying on a Word32 truncation
1430+
// in order to skip the overflow check. Similarly, we must not drop -0 from
1431+
// the result type unless we deopt for -0 inputs.
14311432
Type const restriction =
1432-
truncation.IsUsedAsWord32() ? Type::Any() : Type::Signed32();
1433+
truncation.IsUsedAsWord32()
1434+
? Type::Any()
1435+
: (truncation.identify_zeros() == kIdentifyZeros)
1436+
? Type::Signed32OrMinusZero()
1437+
: Type::Signed32();
14331438

14341439
// Handle the case when no int32 checks on inputs are necessary (but
14351440
// an overflow check is needed on the output). Note that we do not

0 commit comments

Comments
 (0)