Index: src/compiler/simplified-lowering.cc |
diff --git a/src/compiler/simplified-lowering.cc b/src/compiler/simplified-lowering.cc |
index 9e1cc7b5a29516fcef4280564048fc68f5aea16e..9a1565656bf227f2175d097b4e8b1424d5f1a3e1 100644 |
--- a/src/compiler/simplified-lowering.cc |
+++ b/src/compiler/simplified-lowering.cc |
@@ -1555,8 +1555,13 @@ class RepresentationSelector { |
MachineRepresentation::kBit); |
if (lower()) ChangeToPureOp(node, Int32Op(node)); |
return; |
- case NumberOperationHint::kNumber: |
case NumberOperationHint::kNumberOrOddball: |
+ // Abstract and strict equality don't perform ToNumber conversions |
+ // on Oddballs, so make sure we don't accidentially sneak in a hint |
+ // with Oddball feedback here. |
+ DCHECK_NE(IrOpcode::kSpeculativeNumberEqual, node->opcode()); |
+ // Fallthrough |
+ case NumberOperationHint::kNumber: |
VisitBinop(node, CheckedUseInfoAsFloat64FromHint(hint), |
MachineRepresentation::kBit); |
if (lower()) ChangeToPureOp(node, Float64Op(node)); |