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(); |
} |