Index: src/compiler/js-generic-lowering.cc |
diff --git a/src/compiler/js-generic-lowering.cc b/src/compiler/js-generic-lowering.cc |
index 4937b1dea37f3b3db16049fb57eecb4a6f19a602..b9b3c50cefb8f72a2532916057d210e33c4e399f 100644 |
--- a/src/compiler/js-generic-lowering.cc |
+++ b/src/compiler/js-generic-lowering.cc |
@@ -114,21 +114,12 @@ REPLACE_COMPARE_IC_CALL_WITH_LANGUAGE_MODE(JSGreaterThanOrEqual, Token::GTE) |
void JSGenericLowering::Lower##op(Node* node) { \ |
ReplaceWithRuntimeCall(node, fun); \ |
} |
-REPLACE_RUNTIME_CALL(JSCreate, Runtime::kAbort) |
REPLACE_RUNTIME_CALL(JSCreateFunctionContext, Runtime::kNewFunctionContext) |
REPLACE_RUNTIME_CALL(JSCreateWithContext, Runtime::kPushWithContext) |
-REPLACE_RUNTIME_CALL(JSCreateBlockContext, Runtime::kPushBlockContext) |
REPLACE_RUNTIME_CALL(JSCreateModuleContext, Runtime::kPushModuleContext) |
-REPLACE_RUNTIME_CALL(JSCreateScriptContext, Runtime::kNewScriptContext) |
#undef REPLACE_RUNTIME |
-#define REPLACE_UNIMPLEMENTED(op) \ |
- void JSGenericLowering::Lower##op(Node* node) { UNIMPLEMENTED(); } |
-REPLACE_UNIMPLEMENTED(JSYield) |
-#undef REPLACE_UNIMPLEMENTED |
- |
- |
static CallDescriptor::Flags FlagsForNode(Node* node) { |
CallDescriptor::Flags result = CallDescriptor::kNoFlags; |
if (OperatorProperties::GetFrameStateInputCount(node->op()) > 0) { |
@@ -489,6 +480,9 @@ void JSGenericLowering::LowerJSLoadDynamicContext(Node* node) { |
} |
+void JSGenericLowering::LowerJSCreate(Node* node) { UNIMPLEMENTED(); } |
+ |
+ |
void JSGenericLowering::LowerJSCreateArguments(Node* node) { |
const CreateArgumentsParameters& p = CreateArgumentsParametersOf(node->op()); |
switch (p.type()) { |
@@ -535,6 +529,20 @@ void JSGenericLowering::LowerJSCreateCatchContext(Node* node) { |
} |
+void JSGenericLowering::LowerJSCreateBlockContext(Node* node) { |
+ Handle<ScopeInfo> scope_info = OpParameter<Handle<ScopeInfo>>(node); |
+ node->InsertInput(zone(), 0, jsgraph()->HeapConstant(scope_info)); |
+ ReplaceWithRuntimeCall(node, Runtime::kPushBlockContext); |
+} |
+ |
+ |
+void JSGenericLowering::LowerJSCreateScriptContext(Node* node) { |
+ Handle<ScopeInfo> scope_info = OpParameter<Handle<ScopeInfo>>(node); |
+ node->InsertInput(zone(), 1, jsgraph()->HeapConstant(scope_info)); |
+ ReplaceWithRuntimeCall(node, Runtime::kNewScriptContext); |
+} |
+ |
+ |
void JSGenericLowering::LowerJSCallConstruct(Node* node) { |
int arity = OpParameter<int>(node); |
CallConstructStub stub(isolate(), SUPER_CONSTRUCTOR_CALL); |
@@ -784,6 +792,9 @@ void JSGenericLowering::LowerJSForInStep(Node* node) { |
} |
+void JSGenericLowering::LowerJSYield(Node* node) { UNIMPLEMENTED(); } |
+ |
+ |
void JSGenericLowering::LowerJSStackCheck(Node* node) { |
Node* effect = NodeProperties::GetEffectInput(node); |
Node* control = NodeProperties::GetControlInput(node); |