Index: src/compiler/js-generic-lowering.cc |
diff --git a/src/compiler/js-generic-lowering.cc b/src/compiler/js-generic-lowering.cc |
index 61485d4acc078318b83696109c59d6ee82a63fd6..708d8ecace6306a7a709b226abf9a4a2c6027ebe 100644 |
--- a/src/compiler/js-generic-lowering.cc |
+++ b/src/compiler/js-generic-lowering.cc |
@@ -88,9 +88,6 @@ REPLACE_STUB_CALL(GreaterThan) |
REPLACE_STUB_CALL(GreaterThanOrEqual) |
REPLACE_STUB_CALL(Equal) |
REPLACE_STUB_CALL(NotEqual) |
-REPLACE_STUB_CALL(StrictEqual) |
-REPLACE_STUB_CALL(StrictNotEqual) |
-REPLACE_STUB_CALL(ToBoolean) |
REPLACE_STUB_CALL(ToInteger) |
REPLACE_STUB_CALL(ToLength) |
REPLACE_STUB_CALL(ToNumber) |
@@ -101,7 +98,12 @@ REPLACE_STUB_CALL(ToString) |
void JSGenericLowering::ReplaceWithStubCall(Node* node, Callable callable, |
CallDescriptor::Flags flags) { |
- Operator::Properties properties = node->op()->properties(); |
+ ReplaceWithStubCall(node, callable, flags, node->op()->properties()); |
+} |
+ |
+void JSGenericLowering::ReplaceWithStubCall(Node* node, Callable callable, |
+ CallDescriptor::Flags flags, |
+ Operator::Properties properties) { |
CallDescriptor* desc = Linkage::GetStubCallDescriptor( |
isolate(), zone(), callable.descriptor(), 0, flags, properties); |
Node* stub_code = jsgraph()->HeapConstant(callable.code()); |
@@ -127,11 +129,32 @@ void JSGenericLowering::ReplaceWithRuntimeCall(Node* node, |
NodeProperties::ChangeOp(node, common()->Call(desc)); |
} |
+void JSGenericLowering::LowerJSStrictEqual(Node* node) { |
+ Callable callable = CodeFactory::StrictEqual(isolate()); |
+ node->AppendInput(zone(), graph()->start()); |
+ ReplaceWithStubCall(node, callable, CallDescriptor::kNoFlags, |
+ Operator::kEliminatable); |
+} |
+ |
+void JSGenericLowering::LowerJSStrictNotEqual(Node* node) { |
+ Callable callable = CodeFactory::StrictNotEqual(isolate()); |
+ node->AppendInput(zone(), graph()->start()); |
+ ReplaceWithStubCall(node, callable, CallDescriptor::kNoFlags, |
+ Operator::kEliminatable); |
+} |
+ |
+void JSGenericLowering::LowerJSToBoolean(Node* node) { |
+ Callable callable = CodeFactory::ToBoolean(isolate()); |
+ node->AppendInput(zone(), graph()->start()); |
+ ReplaceWithStubCall(node, callable, CallDescriptor::kNoFlags, |
+ Operator::kEliminatable); |
+} |
void JSGenericLowering::LowerJSTypeOf(Node* node) { |
- CallDescriptor::Flags flags = AdjustFrameStatesForCall(node); |
Callable callable = CodeFactory::Typeof(isolate()); |
- ReplaceWithStubCall(node, callable, flags); |
+ node->AppendInput(zone(), graph()->start()); |
+ ReplaceWithStubCall(node, callable, CallDescriptor::kNoFlags, |
+ Operator::kEliminatable); |
} |