Index: src/compiler/js-generic-lowering.cc |
diff --git a/src/compiler/js-generic-lowering.cc b/src/compiler/js-generic-lowering.cc |
index c7c6b1f0d6d638d7fd06c8edcbf0d0445007406a..ece5a72541e153b1d4b94645d4e5c8025e50e1d6 100644 |
--- a/src/compiler/js-generic-lowering.cc |
+++ b/src/compiler/js-generic-lowering.cc |
@@ -115,7 +115,6 @@ REPLACE_COMPARE_IC_CALL_WITH_LANGUAGE_MODE(JSGreaterThanOrEqual, Token::GTE) |
ReplaceWithRuntimeCall(node, fun); \ |
} |
REPLACE_RUNTIME_CALL(JSCreate, Runtime::kAbort) |
-REPLACE_RUNTIME_CALL(JSCreateArguments, Runtime::kNewArguments) |
REPLACE_RUNTIME_CALL(JSCreateFunctionContext, Runtime::kNewFunctionContext) |
REPLACE_RUNTIME_CALL(JSCreateWithContext, Runtime::kPushWithContext) |
REPLACE_RUNTIME_CALL(JSCreateBlockContext, Runtime::kPushBlockContext) |
@@ -490,6 +489,22 @@ void JSGenericLowering::LowerJSLoadDynamicContext(Node* node) { |
} |
+void JSGenericLowering::LowerJSCreateArguments(Node* node) { |
+ const CreateArgumentsParameters& p = CreateArgumentsParametersOf(node->op()); |
+ switch (p.type()) { |
+ case CreateArgumentsParameters::kMappedArguments: |
+ ReplaceWithRuntimeCall(node, Runtime::kNewSloppyArguments_Generic); |
+ break; |
+ case CreateArgumentsParameters::kUnmappedArguments: |
+ ReplaceWithRuntimeCall(node, Runtime::kNewStrictArguments_Generic); |
+ break; |
+ case CreateArgumentsParameters::kRestArray: |
+ UNIMPLEMENTED(); |
+ break; |
+ } |
+} |
+ |
+ |
void JSGenericLowering::LowerJSCreateClosure(Node* node) { |
CreateClosureParameters p = CreateClosureParametersOf(node->op()); |
node->InsertInput(zone(), 0, jsgraph()->HeapConstant(p.shared_info())); |