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

Unified Diff: pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart

Issue 826413003: Use a shared function to represent type substitutions with dynamic. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: comments 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 side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
diff --git a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
index aa75a3e3405929dbd8143756ae73f063860e173d..777cd9877d9ac398a8b81f71f959f74eccb507a3 100644
--- a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
@@ -922,6 +922,20 @@ class OldEmitter implements Emitter {
output.add(N);
}
+ void emitFunctionThatReturnsNull(CodeOutput output) {
+ output.addBuffer(
+ jsAst.prettyPrint(
+ js.statement('#.# = function() {}',
+ [backend.namer.isolateName,
+ backend.rti.getFunctionThatReturnsNullName]),
+ compiler, monitor: compiler.dumpInfoTask));
+ }
+
+ jsAst.Expression generateFunctionThatReturnsNull() {
karlklose 2015/01/20 10:37:32 This generates code to access the function, not th
+ return js("#.#", [backend.namer.isolateName,
+ backend.rti.getFunctionThatReturnsNullName]);
+ }
+
/// Returns the code equivalent to:
/// `function(args) { $.startRootIsolate(X.main$closure(), args); }`
jsAst.Expression buildIsolateSetupClosure(Element appMain,
@@ -1459,6 +1473,8 @@ class OldEmitter implements Emitter {
mainOutput.add('init()$N$n');
mainOutput.add('$isolateProperties$_=$_$isolatePropertiesName$N');
+ emitFunctionThatReturnsNull(mainOutput);
+
emitStaticFunctions(task.outputStaticLists[mainOutputUnit]);
List<ClassElement> classes = task.outputClassLists[mainOutputUnit];

Powered by Google App Engine
This is Rietveld 408576698