Skip to content

Commit

Permalink
deps: V8: cherry-pick ab2340a9b994
Browse files Browse the repository at this point in the history
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 <nicohartmann@chromium.org>
    Commit-Queue: Georg Neis <neis@chromium.org>
    Cr-Original-Commit-Position: refs/heads/master@{#74008}
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848412
    Commit-Queue: Artem Sumaneev <asumaneev@google.com>
    Reviewed-by: Victor-Gabriel Savu <vsavu@google.com>
    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
  • Loading branch information
targos committed Apr 30, 2021
1 parent d8f8719 commit aeda502
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
2 changes: 1 addition & 1 deletion common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@

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

##### V8 defaults for Node.js #####

Expand Down
11 changes: 8 additions & 3 deletions deps/v8/src/compiler/simplified-lowering.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1426,10 +1426,15 @@ class RepresentationSelector {
Type right_feedback_type = TypeOf(node->InputAt(1));

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

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

0 comments on commit aeda502

Please sign in to comment.