Index: src/compiler/bytecode-graph-builder.cc |
diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc |
index 029d90c4db6b93df830bd79ec82e8bca9b2e21b3..9aba0ac7fcf8710a717c9c815e5422138a78acfe 100644 |
--- a/src/compiler/bytecode-graph-builder.cc |
+++ b/src/compiler/bytecode-graph-builder.cc |
@@ -942,6 +942,18 @@ void BytecodeGraphBuilder::VisitCreateFunctionContext() { |
environment()->BindAccumulator(context); |
} |
+void BytecodeGraphBuilder::VisitCreateCatchContext() { |
+ interpreter::Register reg = bytecode_iterator().GetRegisterOperand(0); |
+ Node* exception = environment()->LookupRegister(reg); |
+ Handle<String> name = |
+ Handle<String>::cast(bytecode_iterator().GetConstantForIndexOperand(1)); |
+ Node* closure = environment()->LookupAccumulator(); |
+ |
+ const Operator* op = javascript()->CreateCatchContext(name); |
+ Node* context = NewNode(op, exception, closure); |
+ environment()->BindAccumulator(context); |
+} |
+ |
void BytecodeGraphBuilder::VisitCreateWithContext() { |
Node* object = |
environment()->LookupRegister(bytecode_iterator().GetRegisterOperand(0)); |