Index: pkg/compiler/lib/src/js_backend/backend.dart |
diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart |
index 90ebafe724f64a76140659e1f701b2492f798b95..75f3dab49e198e7a3d9bf2656793766d72e2e1c4 100644 |
--- a/pkg/compiler/lib/src/js_backend/backend.dart |
+++ b/pkg/compiler/lib/src/js_backend/backend.dart |
@@ -1600,8 +1600,8 @@ class JavaScriptBackend extends Backend { |
return findHelper("throwCyclicInit"); |
} |
- Element getThenHelper() { |
- return findHelper("thenHelper"); |
+ Element getAsyncHelper() { |
+ return findHelper("asyncHelper"); |
} |
Element getYieldStar() { |
@@ -1616,8 +1616,14 @@ class JavaScriptBackend extends Backend { |
return classElement.lookupLocalMember("yieldSingle"); |
} |
- Element getStreamHelper() { |
- return findHelper("streamHelper"); |
+ Element getSyncStarUncaughtError() { |
+ ClassElement classElement = findHelper("IterationMarker"); |
+ classElement.ensureResolved(compiler); |
+ return classElement.lookupLocalMember("uncaughtError"); |
+ } |
+ |
+ Element getAsyncStarHelper() { |
+ return findHelper("asyncStarHelper"); |
} |
Element getStreamOfController() { |
@@ -2409,7 +2415,7 @@ class JavaScriptBackend extends Backend { |
Enqueuer enqueuer, |
Registry registry) { |
if (element.asyncMarker == AsyncMarker.ASYNC) { |
- enqueue(enqueuer, getThenHelper(), registry); |
+ enqueue(enqueuer, getAsyncHelper(), registry); |
enqueue(enqueuer, getCompleterConstructor(), registry); |
enqueue(enqueuer, getStreamIteratorConstructor(), registry); |
} else if (element.asyncMarker == AsyncMarker.SYNC_STAR) { |
@@ -2417,9 +2423,10 @@ class JavaScriptBackend extends Backend { |
enqueue(enqueuer, getSyncStarIterableConstructor(), registry); |
enqueue(enqueuer, getEndOfIteration(), registry); |
enqueue(enqueuer, getYieldStar(), registry); |
+ enqueue(enqueuer, getSyncStarUncaughtError(), registry); |
} else if (element.asyncMarker == AsyncMarker.ASYNC_STAR) { |
enqueuer.registerInstantiatedClass(getASyncStarController(), registry); |
- enqueue(enqueuer, getStreamHelper(), registry); |
+ enqueue(enqueuer, getAsyncStarHelper(), registry); |
enqueue(enqueuer, getStreamOfController(), registry); |
enqueue(enqueuer, getYieldSingle(), registry); |
enqueue(enqueuer, getYieldStar(), registry); |