Index: src/ast/ast-numbering.cc |
diff --git a/src/ast/ast-numbering.cc b/src/ast/ast-numbering.cc |
index d0101828d6897f99c91e069024460c4aae10ebf6..6c37128941a9fcd6b2f76e00908469d7b6fd0be2 100644 |
--- a/src/ast/ast-numbering.cc |
+++ b/src/ast/ast-numbering.cc |
@@ -249,6 +249,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); |
+ } |
} |