| Index: src/interpreter/control-flow-builders.cc
|
| diff --git a/src/interpreter/control-flow-builders.cc b/src/interpreter/control-flow-builders.cc
|
| index 99066e8c7e96fc3a51696ae754f3b9401ba30c2d..b50360c8e713265ef8edab44f6c8cb66c7c1ba8b 100644
|
| --- a/src/interpreter/control-flow-builders.cc
|
| +++ b/src/interpreter/control-flow-builders.cc
|
| @@ -137,6 +137,39 @@ void SwitchBuilder::SetCaseTarget(int index) {
|
| builder()->Bind(&site);
|
| }
|
|
|
| +
|
| +void TryCatchBuilder::BeginTry(Register context) {
|
| + builder()->MarkTryBegin(handler_id_, context);
|
| +}
|
| +
|
| +
|
| +void TryCatchBuilder::EndTry() {
|
| + builder()->MarkTryEnd(handler_id_);
|
| + builder()->Jump(&exit_);
|
| + builder()->Bind(&handler_);
|
| + builder()->MarkHandler(handler_id_, true);
|
| +}
|
| +
|
| +
|
| +void TryCatchBuilder::EndCatch() { builder()->Bind(&exit_); }
|
| +
|
| +
|
| +void TryFinallyBuilder::BeginTry(Register context) {
|
| + builder()->MarkTryBegin(handler_id_, context);
|
| +}
|
| +
|
| +
|
| +void TryFinallyBuilder::EndTry() {
|
| + builder()->MarkTryEnd(handler_id_);
|
| + builder()->Bind(&handler_);
|
| + builder()->MarkHandler(handler_id_, false);
|
| +}
|
| +
|
| +
|
| +void TryFinallyBuilder::EndFinally() {
|
| + // Nothing to be done here.
|
| +}
|
| +
|
| } // namespace interpreter
|
| } // namespace internal
|
| } // namespace v8
|
|
|