Index: src/compiler/js-generic-lowering.cc |
diff --git a/src/compiler/js-generic-lowering.cc b/src/compiler/js-generic-lowering.cc |
index dfc5d31b077c6a71dd87865e494a37131bce819b..79699b44d01ecd2bd9c1a78e1f940b1dde3126af 100644 |
--- a/src/compiler/js-generic-lowering.cc |
+++ b/src/compiler/js-generic-lowering.cc |
@@ -79,18 +79,18 @@ REPLACE_BINARY_OP_IC_CALL(JSModulus, Token::MOD) |
#undef REPLACE_BINARY_OP_IC_CALL |
-#define REPLACE_COMPARE_IC_CALL(op, token, pure) \ |
+#define REPLACE_COMPARE_IC_CALL(op, token) \ |
void JSGenericLowering::Lower##op(Node* node) { \ |
- ReplaceWithCompareIC(node, token, pure); \ |
+ ReplaceWithCompareIC(node, token); \ |
} |
-REPLACE_COMPARE_IC_CALL(JSEqual, Token::EQ, false) |
-REPLACE_COMPARE_IC_CALL(JSNotEqual, Token::NE, false) |
-REPLACE_COMPARE_IC_CALL(JSStrictEqual, Token::EQ_STRICT, true) |
-REPLACE_COMPARE_IC_CALL(JSStrictNotEqual, Token::NE_STRICT, true) |
-REPLACE_COMPARE_IC_CALL(JSLessThan, Token::LT, false) |
-REPLACE_COMPARE_IC_CALL(JSGreaterThan, Token::GT, false) |
-REPLACE_COMPARE_IC_CALL(JSLessThanOrEqual, Token::LTE, false) |
-REPLACE_COMPARE_IC_CALL(JSGreaterThanOrEqual, Token::GTE, false) |
+REPLACE_COMPARE_IC_CALL(JSEqual, Token::EQ) |
+REPLACE_COMPARE_IC_CALL(JSNotEqual, Token::NE) |
+REPLACE_COMPARE_IC_CALL(JSStrictEqual, Token::EQ_STRICT) |
+REPLACE_COMPARE_IC_CALL(JSStrictNotEqual, Token::NE_STRICT) |
+REPLACE_COMPARE_IC_CALL(JSLessThan, Token::LT) |
+REPLACE_COMPARE_IC_CALL(JSGreaterThan, Token::GT) |
+REPLACE_COMPARE_IC_CALL(JSLessThanOrEqual, Token::LTE) |
+REPLACE_COMPARE_IC_CALL(JSGreaterThanOrEqual, Token::GTE) |
#undef REPLACE_COMPARE_IC_CALL |
@@ -126,8 +126,7 @@ static CallDescriptor::Flags FlagsForNode(Node* node) { |
} |
-void JSGenericLowering::ReplaceWithCompareIC(Node* node, Token::Value token, |
- bool pure) { |
+void JSGenericLowering::ReplaceWithCompareIC(Node* node, Token::Value token) { |
Callable callable = CodeFactory::CompareIC(isolate(), token); |
bool has_frame_state = OperatorProperties::HasFrameStateInput(node->op()); |
CallDescriptor* desc_compare = linkage()->GetStubCallDescriptor( |
@@ -139,7 +138,7 @@ void JSGenericLowering::ReplaceWithCompareIC(Node* node, Token::Value token, |
inputs.push_back(NodeProperties::GetValueInput(node, 0)); |
inputs.push_back(NodeProperties::GetValueInput(node, 1)); |
inputs.push_back(NodeProperties::GetContextInput(node)); |
- if (pure) { |
+ if (node->op()->HasProperty(Operator::kPure)) { |
// A pure (strict) comparison doesn't have an effect, control or frame |
// state. But for the graph, we need to add control and effect inputs. |
DCHECK(!has_frame_state); |