Index: dart/pkg/dart2js_incremental/lib/caching_compiler.dart |
diff --git a/dart/pkg/dart2js_incremental/lib/caching_compiler.dart b/dart/pkg/dart2js_incremental/lib/caching_compiler.dart |
index ab82e818bac05c428c163a16778093304c5ea974..38edf9791ba06f2df83f987087a3e403ffe06fae 100644 |
--- a/dart/pkg/dart2js_incremental/lib/caching_compiler.dart |
+++ b/dart/pkg/dart2js_incremental/lib/caching_compiler.dart |
@@ -85,8 +85,12 @@ Future<Compiler> reuseCompiler( |
..compilationFailed = false; |
JavaScriptBackend backend = compiler.backend; |
- backend.emitter.oldEmitter.cachedElements.addAll( |
- backend.generatedCode.keys); |
+ // TODO(ahe): Seems this cache only serves to tell |
+ // [OldEmitter.invalidateCaches] if it was invoked on a full compile (in |
+ // which case nothing should be invalidated), or if it is an incremental |
+ // compilation (in which case, holders/owners of newly compiled methods |
+ // must be invalidated). |
+ backend.emitter.oldEmitter.cachedElements.add(null); |
compiler.enqueuer.codegen.newlyEnqueuedElements.clear(); |