| Index: src/compiler/ast-graph-builder.cc
|
| diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc
|
| index 623e83fa67a463c621af9db933822f41eb12aa57..9bee998048798d414cdc69ea9013d940bfd3e10a 100644
|
| --- a/src/compiler/ast-graph-builder.cc
|
| +++ b/src/compiler/ast-graph-builder.cc
|
| @@ -365,7 +365,7 @@ class AstGraphBuilder::ControlScopeForCatch : public ControlScope {
|
| control_(control),
|
| outer_prediction_(owner->try_catch_prediction_) {
|
| builder()->try_nesting_level_++; // Increment nesting.
|
| - builder()->try_catch_prediction_ = stmt->catch_predicted();
|
| + builder()->try_catch_prediction_ = stmt->catch_prediction();
|
| }
|
| ~ControlScopeForCatch() {
|
| builder()->try_nesting_level_--; // Decrement nesting.
|
| @@ -388,7 +388,7 @@ class AstGraphBuilder::ControlScopeForCatch : public ControlScope {
|
|
|
| private:
|
| TryCatchBuilder* control_;
|
| - bool outer_prediction_;
|
| + HandlerTable::CatchPrediction outer_prediction_;
|
| };
|
|
|
|
|
| @@ -402,7 +402,7 @@ class AstGraphBuilder::ControlScopeForFinally : public ControlScope {
|
| control_(control),
|
| outer_prediction_(owner->try_catch_prediction_) {
|
| builder()->try_nesting_level_++; // Increment nesting.
|
| - builder()->try_catch_prediction_ = stmt->catch_predicted();
|
| + builder()->try_catch_prediction_ = stmt->catch_prediction();
|
| }
|
| ~ControlScopeForFinally() {
|
| builder()->try_nesting_level_--; // Decrement nesting.
|
| @@ -419,7 +419,7 @@ class AstGraphBuilder::ControlScopeForFinally : public ControlScope {
|
| private:
|
| DeferredCommands* commands_;
|
| TryFinallyBuilder* control_;
|
| - bool outer_prediction_;
|
| + HandlerTable::CatchPrediction outer_prediction_;
|
| };
|
|
|
|
|
| @@ -489,7 +489,7 @@ AstGraphBuilder::AstGraphBuilder(Zone* local_zone, CompilationInfo* info,
|
| execution_control_(nullptr),
|
| execution_context_(nullptr),
|
| try_nesting_level_(0),
|
| - try_catch_prediction_(false),
|
| + try_catch_prediction_(HandlerTable::UNCAUGHT),
|
| input_buffer_size_(0),
|
| input_buffer_(nullptr),
|
| exit_controls_(local_zone),
|
| @@ -4178,9 +4178,8 @@ Node* AstGraphBuilder::MakeNode(const Operator* op, int value_input_count,
|
| // Add implicit exception continuation for throwing nodes.
|
| if (!result->op()->HasProperty(Operator::kNoThrow) && inside_try_scope) {
|
| // Conservative prediction whether caught locally.
|
| - IfExceptionHint hint = try_catch_prediction_
|
| - ? IfExceptionHint::kLocallyCaught
|
| - : IfExceptionHint::kLocallyUncaught;
|
| + IfExceptionHint hint =
|
| + ExceptionHintFromCatchPrediction(try_catch_prediction_);
|
| // Copy the environment for the success continuation.
|
| Environment* success_env = environment()->CopyForConditional();
|
| const Operator* op = common()->IfException(hint);
|
|
|