Index: src/compiler/ast-graph-builder.cc |
diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc |
index 3668ff8c01cdfe07d121b8eaa201ad2623b2fd57..c7c6db5dfab8a9be381446ea90eb2637b7404853 100644 |
--- a/src/compiler/ast-graph-builder.cc |
+++ b/src/compiler/ast-graph-builder.cc |
@@ -361,15 +361,11 @@ class AstGraphBuilder::ControlScopeForCatch : public ControlScope { |
public: |
ControlScopeForCatch(AstGraphBuilder* owner, TryCatchStatement* stmt, |
TryCatchBuilder* control) |
- : ControlScope(owner), |
- control_(control), |
- outer_prediction_(owner->try_catch_prediction_) { |
+ : ControlScope(owner), control_(control) { |
builder()->try_nesting_level_++; // Increment nesting. |
- builder()->try_catch_prediction_ = stmt->catch_prediction(); |
} |
~ControlScopeForCatch() { |
builder()->try_nesting_level_--; // Decrement nesting. |
- builder()->try_catch_prediction_ = outer_prediction_; |
} |
protected: |
@@ -388,7 +384,6 @@ class AstGraphBuilder::ControlScopeForCatch : public ControlScope { |
private: |
TryCatchBuilder* control_; |
- HandlerTable::CatchPrediction outer_prediction_; |
}; |
@@ -397,16 +392,11 @@ class AstGraphBuilder::ControlScopeForFinally : public ControlScope { |
public: |
ControlScopeForFinally(AstGraphBuilder* owner, TryFinallyStatement* stmt, |
DeferredCommands* commands, TryFinallyBuilder* control) |
- : ControlScope(owner), |
- commands_(commands), |
- control_(control), |
- outer_prediction_(owner->try_catch_prediction_) { |
+ : ControlScope(owner), commands_(commands), control_(control) { |
builder()->try_nesting_level_++; // Increment nesting. |
- builder()->try_catch_prediction_ = stmt->catch_prediction(); |
} |
~ControlScopeForFinally() { |
builder()->try_nesting_level_--; // Decrement nesting. |
- builder()->try_catch_prediction_ = outer_prediction_; |
} |
protected: |
@@ -419,7 +409,6 @@ class AstGraphBuilder::ControlScopeForFinally : public ControlScope { |
private: |
DeferredCommands* commands_; |
TryFinallyBuilder* control_; |
- HandlerTable::CatchPrediction outer_prediction_; |
}; |
@@ -489,7 +478,6 @@ AstGraphBuilder::AstGraphBuilder(Zone* local_zone, CompilationInfo* info, |
execution_control_(nullptr), |
execution_context_(nullptr), |
try_nesting_level_(0), |
- try_catch_prediction_(HandlerTable::UNCAUGHT), |
input_buffer_size_(0), |
input_buffer_(nullptr), |
exit_controls_(local_zone), |
@@ -4157,12 +4145,9 @@ 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 = |
- ExceptionHintFromCatchPrediction(try_catch_prediction_); |
// Copy the environment for the success continuation. |
Environment* success_env = environment()->CopyForConditional(); |
- const Operator* op = common()->IfException(hint); |
+ const Operator* op = common()->IfException(); |
Node* effect = environment()->GetEffectDependency(); |
Node* on_exception = graph()->NewNode(op, effect, result); |
environment_->UpdateControlDependency(on_exception); |