Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(199)

Unified Diff: dart/site/try/src/caching_compiler.dart

Issue 355563004: Create package for incremental compilation. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: dart/site/try/src/caching_compiler.dart
diff --git a/dart/site/try/src/caching_compiler.dart b/dart/site/try/src/caching_compiler.dart
deleted file mode 100644
index f8703ff4ff8d49447edf03697090a3ce1bf3041e..0000000000000000000000000000000000000000
--- a/dart/site/try/src/caching_compiler.dart
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-library trydart.caching_compiler;
-
-import 'dart:profiler' show
- UserTag;
-
-import 'package:compiler/compiler.dart' show
- CompilerInputProvider,
- CompilerOutputProvider,
- Diagnostic,
- DiagnosticHandler;
-
-import 'package:compiler/implementation/apiimpl.dart' show
- Compiler;
-
-import 'package:compiler/implementation/dart2jslib.dart' show
- NullSink;
-
-import 'package:compiler/implementation/js_backend/js_backend.dart' show
- JavaScriptBackend;
-
-import 'package:compiler/implementation/elements/elements.dart' show
- LibraryElement;
-
-Compiler reuseCompiler(
- {DiagnosticHandler diagnosticHandler,
- CompilerInputProvider inputProvider,
- CompilerOutputProvider outputProvider,
- List<String> options: const [],
- Compiler cachedCompiler,
- Uri libraryRoot,
- Uri packageRoot,
- bool packagesAreImmutable: false}) {
- UserTag oldTag = new UserTag('reuseCompiler').makeCurrent();
- if (libraryRoot == null) {
- throw 'Missing libraryRoot';
- }
- if (inputProvider == null) {
- throw 'Missing inputProvider';
- }
- if (diagnosticHandler == null) {
- throw 'Missing diagnosticHandler';
- }
- if (outputProvider == null) {
- outputProvider = NullSink.outputProvider;
- }
- Compiler compiler = cachedCompiler;
- if (compiler == null ||
- compiler.libraryRoot != libraryRoot ||
- !compiler.hasIncrementalSupport ||
- compiler.hasCrashed ||
- compiler.compilerWasCancelled ||
- compiler.enqueuer.resolution.hasEnqueuedEverything ||
- compiler.deferredLoadTask.splitProgram) {
- if (compiler != null && compiler.hasIncrementalSupport) {
- print('***FLUSH***');
- if (compiler.hasCrashed) {
- print('Unable to reuse compiler due to crash.');
- } else if (compiler.compilerWasCancelled) {
- print('Unable to reuse compiler due to cancel.');
- } else if (compiler.enqueuer.resolution.hasEnqueuedEverything) {
- print('Unable to reuse compiler due to dart:mirrors.');
- } else if (compiler.deferredLoadTask.splitProgram) {
- print('Unable to reuse compiler due to deferred loading.');
- } else {
- print('Unable to reuse compiler.');
- }
- }
- compiler = new Compiler(
- inputProvider,
- outputProvider,
- diagnosticHandler,
- libraryRoot,
- packageRoot,
- options,
- {});
- } else {
- compiler
- ..outputProvider = outputProvider
- ..provider = inputProvider
- ..handler = diagnosticHandler
- ..enqueuer.resolution.queueIsClosed = false
- ..enqueuer.resolution.hasEnqueuedEverything = false
- ..enqueuer.resolution.hasEnqueuedReflectiveStaticFields = false
- ..enqueuer.codegen.queueIsClosed = false
- ..enqueuer.codegen.hasEnqueuedEverything = false
- ..enqueuer.codegen.hasEnqueuedReflectiveStaticFields = false
- ..assembledCode = null
- ..compilationFailed = false;
- JavaScriptBackend backend = compiler.backend;
-
- backend.emitter.cachedElements.addAll(backend.generatedCode.keys);
-
- compiler.enqueuer.codegen.newlyEnqueuedElements.clear();
-
- backend.emitter.containerBuilder
- ..staticGetters.clear()
- ..methodClosures.clear();
-
- backend.emitter.nsmEmitter
- ..trivialNsmHandlers.clear();
-
- backend.emitter.typeTestEmitter
- ..checkedClasses = null
- ..checkedFunctionTypes = null
- ..checkedGenericFunctionTypes.clear()
- ..checkedNonGenericFunctionTypes.clear()
- ..rtiNeededClasses.clear()
- ..cachedClassesUsingTypeVariableTests = null;
-
- backend.emitter.interceptorEmitter
- ..interceptorInvocationNames.clear();
-
- backend.emitter.metadataEmitter
- ..globalMetadata.clear()
- ..globalMetadataMap.clear();
-
- backend.emitter.nativeEmitter
- ..nativeBuffer.clear()
- ..nativeClasses.clear()
- ..nativeMethods.clear();
-
- backend.emitter
- ..outputBuffers.clear()
- ..deferredConstants.clear()
- ..isolateProperties = null
- ..classesCollector = null
- ..neededClasses.clear()
- ..outputClassLists.clear()
- ..nativeClasses.clear()
- ..mangledFieldNames.clear()
- ..mangledGlobalFieldNames.clear()
- ..recordedMangledNames.clear()
- ..additionalProperties.clear()
- ..readTypeVariables.clear()
- ..instantiatedClasses = null
- ..precompiledFunction.clear()
- ..precompiledConstructorNames.clear()
- ..hasMakeConstantList = false
- ..elementDescriptors.clear();
-
- backend
- ..preMirrorsMethodCount = 0;
-
- Map libraries = new Map.from(compiler.libraries);
- compiler.libraries.clear();
- compiler.libraryLoader.reset();
- libraries.forEach((String uri, LibraryElement library) {
- if (library.isPlatformLibrary ||
- (packagesAreImmutable && library.isPackageLibrary)) {
- compiler.libraries[uri] = library;
- compiler.libraryLoader.reuseLibrary(library);
- }
- });
- }
- oldTag.makeCurrent();
- return compiler;
-}

Powered by Google App Engine
This is Rietveld 408576698