| Index: src/compiler/js-typed-lowering.cc
|
| diff --git a/src/compiler/js-typed-lowering.cc b/src/compiler/js-typed-lowering.cc
|
| index 6b5cb95f558ca64775fe5185905ca7dab75249a2..985a31e7db80b671b21c80ca9b4fc884266c9fbc 100644
|
| --- a/src/compiler/js-typed-lowering.cc
|
| +++ b/src/compiler/js-typed-lowering.cc
|
| @@ -52,7 +52,7 @@ class JSBinopReduction final {
|
| }
|
| DCHECK_NE(0, node_->op()->ControlOutputCount());
|
| DCHECK_EQ(1, node_->op()->EffectOutputCount());
|
| - DCHECK_EQ(2, OperatorProperties::GetFrameStateInputCount(node_->op()));
|
| + DCHECK_EQ(1, OperatorProperties::GetFrameStateInputCount(node_->op()));
|
| CompareOperationHints hints = CompareOperationHintsOf(node_->op());
|
| CompareOperationHints::Hint combined = hints.combined();
|
| if (combined == CompareOperationHints::kSignedSmall ||
|
| @@ -644,10 +644,13 @@ Reduction JSTypedLowering::ReduceJSComparison(Node* node) {
|
| if (hint != CompareOperationHints::kAny) {
|
| less_than = simplified()->SpeculativeNumberLessThan(hint);
|
| less_than_or_equal = simplified()->SpeculativeNumberLessThanOrEqual(hint);
|
| - } else {
|
| + } else if (r.BothInputsAre(Type::PlainPrimitive()) ||
|
| + !(flags() & kDeoptimizationEnabled)) {
|
| r.ConvertInputsToNumber();
|
| less_than = simplified()->NumberLessThan();
|
| less_than_or_equal = simplified()->NumberLessThanOrEqual();
|
| + } else {
|
| + return NoChange();
|
| }
|
| const Operator* comparison;
|
| switch (node->opcode()) {
|
|
|