| Index: lib/compiler/implementation/enqueue.dart
|
| diff --git a/lib/compiler/implementation/enqueue.dart b/lib/compiler/implementation/enqueue.dart
|
| index 23f5f736b10194518a8b885d730348bbfa3b8a7b..41ce5f663a8d38f73ce005174ae30f4e1f226868 100644
|
| --- a/lib/compiler/implementation/enqueue.dart
|
| +++ b/lib/compiler/implementation/enqueue.dart
|
| @@ -323,7 +323,11 @@ class Enqueuer {
|
|
|
| void forEach(f(WorkItem work)) {
|
| while (!queue.isEmpty()) {
|
| - f(queue.removeLast());
|
| + do {
|
| + f(queue.removeLast());
|
| + } while (!queue.isEmpty());
|
| + // TODO(ahe): we shouldn't register the field closure invocations here.
|
| + registerFieldClosureInvocations();
|
| }
|
| }
|
| }
|
|
|