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

Side by Side Diff: pkg/dart2js_incremental/lib/caching_compiler.dart

Issue 810933003: Avoid emitting addStubs and tearOffCode when not needed. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Always emit the functions in incremental compilations. Created 5 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of dart2js_incremental; 5 part of dart2js_incremental;
6 6
7 /// Do not call this method directly. It will be made private. 7 /// Do not call this method directly. It will be made private.
8 // TODO(ahe): Make this method private. 8 // TODO(ahe): Make this method private.
9 Future<Compiler> reuseCompiler( 9 Future<Compiler> reuseCompiler(
10 {DiagnosticHandler diagnosticHandler, 10 {DiagnosticHandler diagnosticHandler,
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 packageRoot, 64 packageRoot,
65 options, 65 options,
66 environment); 66 environment);
67 JavaScriptBackend backend = compiler.backend; 67 JavaScriptBackend backend = compiler.backend;
68 68
69 // Much like a scout, an incremental compiler is always prepared. For 69 // Much like a scout, an incremental compiler is always prepared. For
70 // mixins, classes, and lazy statics, at least. 70 // mixins, classes, and lazy statics, at least.
71 backend.emitter.oldEmitter 71 backend.emitter.oldEmitter
72 ..needsClassSupport = true 72 ..needsClassSupport = true
73 ..needsMixinSupport = true 73 ..needsMixinSupport = true
74 ..needsLazyInitializer = true; 74 ..needsLazyInitializer = true
75 ..needsArrayInitializerSupport = true;
75 76
76 Uri core = Uri.parse("dart:core"); 77 Uri core = Uri.parse("dart:core");
77 return compiler.libraryLoader.loadLibrary(core).then((_) { 78 return compiler.libraryLoader.loadLibrary(core).then((_) {
78 // Likewise, always be prepared for runtimeType support. 79 // Likewise, always be prepared for runtimeType support.
79 // TODO(johnniwinther): Add global switch to force RTI. 80 // TODO(johnniwinther): Add global switch to force RTI.
80 compiler.enabledRuntimeType = true; 81 compiler.enabledRuntimeType = true;
81 backend.registerRuntimeType( 82 backend.registerRuntimeType(
82 compiler.enqueuer.resolution, compiler.globalDependencies); 83 compiler.enqueuer.resolution, compiler.globalDependencies);
83 return compiler; 84 return compiler;
84 }); 85 });
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 final Map<String, String> output = new Map<String, String>(); 204 final Map<String, String> output = new Map<String, String>();
204 205
205 EventSink<String> call(String name, String extension) { 206 EventSink<String> call(String name, String extension) {
206 return new StringEventSink((String data) { 207 return new StringEventSink((String data) {
207 output['$name.$extension'] = data; 208 output['$name.$extension'] = data;
208 }); 209 });
209 } 210 }
210 211
211 String operator[] (String key) => output[key]; 212 String operator[] (String key) => output[key];
212 } 213 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698