Chromium Code Reviews| Index: src/compiler/js-typed-lowering.cc |
| diff --git a/src/compiler/js-typed-lowering.cc b/src/compiler/js-typed-lowering.cc |
| index 6df76520202bde502c6e8d262181c89522e49d60..b381d9a523cd0028caeffc1bc17acb862569a595 100644 |
| --- a/src/compiler/js-typed-lowering.cc |
| +++ b/src/compiler/js-typed-lowering.cc |
| @@ -121,11 +121,6 @@ class JSBinopReduction final { |
| JSBinopReduction(JSTypedLowering* lowering, Node* node) |
| : lowering_(lowering), node_(node) {} |
| - void ConvertPrimitiveInputsToNumber() { |
| - node_->ReplaceInput(0, ConvertPrimitiveToNumber(left())); |
| - node_->ReplaceInput(1, ConvertPrimitiveToNumber(right())); |
| - } |
| - |
| void ConvertInputsToNumber(Node* frame_state) { |
| // To convert the inputs to numbers, we have to provide frame states |
| // for lazy bailouts in the ToNumber conversions. |
| @@ -483,8 +478,7 @@ Reduction JSTypedLowering::ReduceJSComparison(Node* node) { |
| ... |
| } |
| #endif |
|
Jarin
2015/05/13 07:11:07
Delete the ifdef-ed block, please.
Benedikt Meurer
2015/05/13 07:15:10
Done.
|
| - if (r.BothInputsAre(Type::PlainPrimitive()) && |
| - r.OneInputCannotBe(Type::StringOrReceiver())) { |
| + if (r.OneInputCannotBe(Type::StringOrReceiver())) { |
| const Operator* less_than; |
| const Operator* less_than_or_equal; |
| if (r.BothInputsAre(Type::Unsigned32())) { |
| @@ -495,7 +489,8 @@ Reduction JSTypedLowering::ReduceJSComparison(Node* node) { |
| less_than_or_equal = machine()->Int32LessThanOrEqual(); |
| } else { |
| // TODO(turbofan): mixed signed/unsigned int32 comparisons. |
| - r.ConvertPrimitiveInputsToNumber(); |
| + Node* frame_state = NodeProperties::GetFrameStateInput(node, 1); |
| + r.ConvertInputsToNumber(frame_state); |
| less_than = simplified()->NumberLessThan(); |
| less_than_or_equal = simplified()->NumberLessThanOrEqual(); |
| } |