Index: src/compiler/bytecode-graph-builder.cc |
diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc |
index 796ceafea1d68008944397f68747e23a6a94beb5..24cd2ed911135461536b941dba60ab4f8ac21bb7 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::BuildCreateArguments(CreateArgumentsType type) { |
FrameStateBeforeAndAfter states(this); |
const Operator* op = javascript()->CreateArguments(type); |