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