Index: src/ast/ast-numbering.cc |
diff --git a/src/ast/ast-numbering.cc b/src/ast/ast-numbering.cc |
index f891bd72366eef075df45dfbc2f02eff0e5cb5ce..3fb3d778280e194f947f98988c354a5174684221 100644 |
--- a/src/ast/ast-numbering.cc |
+++ b/src/ast/ast-numbering.cc |
@@ -257,6 +257,12 @@ void AstNumberingVisitor::VisitCallRuntime(CallRuntime* node) { |
IncrementNodeCount(); |
node->set_base_id(ReserveIdRange(CallRuntime::num_ids())); |
VisitArguments(node->arguments()); |
+ // Indicate the catch prediction to the running async program |
+ if (node->is_jsruntime() && |
+ node->context_index() == Context::ASYNC_FUNCTION_AWAIT_CAUGHT_INDEX && |
+ catch_prediction_ == HandlerTable::ASYNC_AWAIT) { |
+ node->set_context_index(Context::ASYNC_FUNCTION_AWAIT_UNCAUGHT_INDEX); |
+ } |
} |