Index: src/js/async-await.js |
diff --git a/src/js/async-await.js b/src/js/async-await.js |
index b733f3d9fa90b81de782ba79d17916d6101b41ea..d687642a7883eef43e1183c9937c613c5e83c934 100644 |
--- a/src/js/async-await.js |
+++ b/src/js/async-await.js |
@@ -158,11 +158,16 @@ function AsyncFunctionPromiseRelease(promise) { |
if (DEBUG_IS_ACTIVE) { |
// Cancel |
var id = GET_PRIVATE(promise, promiseAsyncStackIDSymbol); |
- %DebugAsyncTaskEvent({ |
- type: "cancel", |
- id: id, |
- name: "async function", |
- }); |
+ |
+ // Don't send invalid events when catch prediction is turned on in |
+ // the middle of some async operation. |
+ if (!IS_UNDEFINED(id)) { |
+ %DebugAsyncTaskEvent({ |
+ type: "cancel", |
+ id: id, |
+ name: "async function", |
+ }); |
+ } |
// Pop the Promise under construction in an async function on |
// from catch prediction stack. |
%DebugPopPromise(); |