Index: src/compiler/js-generic-lowering.cc |
diff --git a/src/compiler/js-generic-lowering.cc b/src/compiler/js-generic-lowering.cc |
index 58522dbf6e168362af81e19bbf89dc98ea44010b..aa70f5279a851d9bb29490bd850b75bc85739a5e 100644 |
--- a/src/compiler/js-generic-lowering.cc |
+++ b/src/compiler/js-generic-lowering.cc |
@@ -506,7 +506,7 @@ void JSGenericLowering::LowerJSCreateClosure(Node* node) { |
void JSGenericLowering::LowerJSCreateLiteralArray(Node* node) { |
CreateLiteralParameters const& p = CreateLiteralParametersOf(node->op()); |
node->InsertInput(zone(), 1, jsgraph()->SmiConstant(p.index())); |
- node->InsertInput(zone(), 2, jsgraph()->HeapConstant(p.constants())); |
+ node->InsertInput(zone(), 2, jsgraph()->HeapConstant(p.constant())); |
node->InsertInput(zone(), 3, jsgraph()->SmiConstant(p.flags())); |
ReplaceWithRuntimeCall(node, Runtime::kCreateArrayLiteral); |
} |
@@ -515,12 +515,26 @@ void JSGenericLowering::LowerJSCreateLiteralArray(Node* node) { |
void JSGenericLowering::LowerJSCreateLiteralObject(Node* node) { |
CreateLiteralParameters const& p = CreateLiteralParametersOf(node->op()); |
node->InsertInput(zone(), 1, jsgraph()->SmiConstant(p.index())); |
- node->InsertInput(zone(), 2, jsgraph()->HeapConstant(p.constants())); |
+ node->InsertInput(zone(), 2, jsgraph()->HeapConstant(p.constant())); |
node->InsertInput(zone(), 3, jsgraph()->SmiConstant(p.flags())); |
ReplaceWithRuntimeCall(node, Runtime::kCreateObjectLiteral); |
} |
+void JSGenericLowering::LowerJSCreateLiteralRegExp(Node* node) { |
+ CreateLiteralParameters const& p = CreateLiteralParametersOf(node->op()); |
+ CallDescriptor::Flags flags = AdjustFrameStatesForCall(node); |
+ Callable callable = CodeFactory::FastCloneRegExp(isolate()); |
+ Node* literal_index = jsgraph()->SmiConstant(p.index()); |
+ Node* literal_flags = jsgraph()->SmiConstant(p.flags()); |
+ Node* pattern = jsgraph()->HeapConstant(p.constant()); |
+ node->InsertInput(graph()->zone(), 1, literal_index); |
+ node->InsertInput(graph()->zone(), 2, pattern); |
+ node->InsertInput(graph()->zone(), 3, literal_flags); |
+ ReplaceWithStubCall(node, callable, flags); |
+} |
+ |
+ |
void JSGenericLowering::LowerJSCreateCatchContext(Node* node) { |
Handle<String> name = OpParameter<Handle<String>>(node); |
node->InsertInput(zone(), 0, jsgraph()->HeapConstant(name)); |