Index: src/compiler/bytecode-graph-builder.cc |
diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc |
index 5bb208ce94f7e5d8a2550d24cb9d0a1f4268c29b..56c2d7947ba40b710ea2444d58f9f616ec24bafc 100644 |
--- a/src/compiler/bytecode-graph-builder.cc |
+++ b/src/compiler/bytecode-graph-builder.cc |
@@ -643,7 +643,20 @@ void BytecodeGraphBuilder::VisitPopContext( |
void BytecodeGraphBuilder::VisitCreateClosure( |
const interpreter::BytecodeArrayIterator& iterator) { |
- UNIMPLEMENTED(); |
+ Handle<SharedFunctionInfo> shared_info = |
+ Handle<SharedFunctionInfo>::cast(iterator.GetConstantForIndexOperand(0)); |
+ PretenureFlag tenured = |
+ iterator.GetImmediateOperand(1) ? TENURED : NOT_TENURED; |
+ const Operator* op = javascript()->CreateClosure(shared_info, tenured); |
+ Node* closure = NewNode(op); |
+ AddEmptyFrameStateInputs(closure); |
+ environment()->BindAccumulator(closure); |
+} |
+ |
+ |
+void BytecodeGraphBuilder::VisitCreateClosureWide( |
+ const interpreter::BytecodeArrayIterator& iterator) { |
+ VisitCreateClosure(iterator); |
} |