| 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);
|
|
|