| Index: src/interpreter/bytecode-generator.cc
|
| diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc
|
| index 57f54f3ef9aadc38bddf8a848db717314bb149fe..2b5b4ef828409d8bd28717a5a9186cb4134e2d46 100644
|
| --- a/src/interpreter/bytecode-generator.cc
|
| +++ b/src/interpreter/bytecode-generator.cc
|
| @@ -3231,19 +3231,10 @@ void BytecodeGenerator::VisitNewLocalCatchContext(Variable* variable) {
|
| AccumulatorResultScope accumulator_execution_result(this);
|
| DCHECK(variable->IsContextSlot());
|
|
|
| - // Allocate a new local block context.
|
| - register_allocator()->PrepareForConsecutiveAllocations(3);
|
| - Register name = register_allocator()->NextConsecutiveRegister();
|
| - Register exception = register_allocator()->NextConsecutiveRegister();
|
| - Register closure = register_allocator()->NextConsecutiveRegister();
|
| -
|
| - builder()
|
| - ->StoreAccumulatorInRegister(exception)
|
| - .LoadLiteral(variable->name())
|
| - .StoreAccumulatorInRegister(name);
|
| + Register exception = register_allocator()->NewRegister();
|
| + builder()->StoreAccumulatorInRegister(exception);
|
| VisitFunctionClosureForContext();
|
| - builder()->StoreAccumulatorInRegister(closure).CallRuntime(
|
| - Runtime::kPushCatchContext, name, 3);
|
| + builder()->CreateCatchContext(exception, variable->name());
|
| execution_result()->SetResultInAccumulator();
|
| }
|
|
|
|
|