File tree 2 files changed +9
-4
lines changed
2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change 36
36
37
37
# Reset this number to 0 on major V8 upgrades.
38
38
# Increment by one for each non-official patch applied to deps/v8.
39
- 'v8_embedder_string' : '-node.61 ' ,
39
+ 'v8_embedder_string' : '-node.62 ' ,
40
40
41
41
##### V8 defaults for Node.js #####
42
42
Original file line number Diff line number Diff line change @@ -1426,10 +1426,15 @@ class RepresentationSelector {
1426
1426
Type right_feedback_type = TypeOf (node->InputAt (1 ));
1427
1427
1428
1428
// 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.
1431
1432
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 ();
1433
1438
1434
1439
// Handle the case when no int32 checks on inputs are necessary (but
1435
1440
// an overflow check is needed on the output). Note that we do not
You can’t perform that action at this time.
0 commit comments