Index: src/compiler/effect-control-linearizer.cc |
diff --git a/src/compiler/effect-control-linearizer.cc b/src/compiler/effect-control-linearizer.cc |
index 6f97a92a98204dba412e75ad3d2441e9fe47dca8..52535a94d26f864459fda7ae853e3350cbafbd40 100644 |
--- a/src/compiler/effect-control-linearizer.cc |
+++ b/src/compiler/effect-control-linearizer.cc |
@@ -1482,9 +1482,8 @@ Node* EffectControlLinearizer::LowerCheckedInt32ToTaggedSigned( |
Node* EffectControlLinearizer::LowerCheckedUint32ToInt32(Node* node, |
Node* frame_state) { |
Node* value = node->InputAt(0); |
- Node* max_int = __ Int32Constant(std::numeric_limits<int32_t>::max()); |
- Node* is_safe = __ Uint32LessThanOrEqual(value, max_int); |
- __ DeoptimizeUnless(DeoptimizeReason::kLostPrecision, is_safe, frame_state); |
+ Node* unsafe = __ Int32LessThan(value, __ Int32Constant(0)); |
+ __ DeoptimizeIf(DeoptimizeReason::kLostPrecision, unsafe, frame_state); |
return value; |
} |