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

Side by Side Diff: pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart

Issue 1913033002: dart2js: Pass type information to constructor rather than add later. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: rebase Created 4 years, 4 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 library dart2js.js_emitter.full_emitter; 5 library dart2js.js_emitter.full_emitter;
6 6
7 import 'dart:collection' show HashMap; 7 import 'dart:collection' show HashMap;
8 import 'dart:convert'; 8 import 'dart:convert';
9 9
10 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames; 10 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames;
(...skipping 865 matching lines...) Expand 10 before | Expand all | Expand 10 after
876 jsAst.Expression leafTagsAccess = 876 jsAst.Expression leafTagsAccess =
877 generateEmbeddedGlobalAccess(embeddedNames.LEAF_TAGS); 877 generateEmbeddedGlobalAccess(embeddedNames.LEAF_TAGS);
878 jsAst.Expression finishedClassesAccess = 878 jsAst.Expression finishedClassesAccess =
879 generateEmbeddedGlobalAccess(embeddedNames.FINISHED_CLASSES); 879 generateEmbeddedGlobalAccess(embeddedNames.FINISHED_CLASSES);
880 jsAst.Expression cyclicThrow = 880 jsAst.Expression cyclicThrow =
881 staticFunctionAccess(backend.helpers.cyclicThrowHelper); 881 staticFunctionAccess(backend.helpers.cyclicThrowHelper);
882 jsAst.Expression laziesAccess = 882 jsAst.Expression laziesAccess =
883 generateEmbeddedGlobalAccess(embeddedNames.LAZIES); 883 generateEmbeddedGlobalAccess(embeddedNames.LAZIES);
884 884
885 return js.statement( 885 return js.statement(
886 ''' 886 """
887 function init() { 887 function init() {
888 $isolatePropertiesName = Object.create(null); 888 $isolatePropertiesName = Object.create(null);
889 #allClasses = map(); 889 #allClasses = map();
890 #getTypeFromName = function(name) {return #allClasses[name];}; 890 #getTypeFromName = function(name) {return #allClasses[name];};
891 #interceptorsByTag = map(); 891 #interceptorsByTag = map();
892 #leafTags = map(); 892 #leafTags = map();
893 #finishedClasses = map(); 893 #finishedClasses = map();
894 894
895 if (#needsLazyInitializer) { 895 if (#needsLazyInitializer) {
896 // [staticName] is only provided in non-minified mode. If missing, we 896 // [staticName] is only provided in non-minified mode. If missing, we
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
986 } 986 }
987 Isolate.#functionThatReturnsNullProperty = 987 Isolate.#functionThatReturnsNullProperty =
988 oldIsolate.#functionThatReturnsNullProperty; 988 oldIsolate.#functionThatReturnsNullProperty;
989 if (#hasIncrementalSupport) { 989 if (#hasIncrementalSupport) {
990 Isolate.#lazyInitializerProperty = 990 Isolate.#lazyInitializerProperty =
991 oldIsolate.#lazyInitializerProperty; 991 oldIsolate.#lazyInitializerProperty;
992 } 992 }
993 return Isolate; 993 return Isolate;
994 } 994 }
995 995
996 }''', 996 }""",
997 { 997 {
998 'allClasses': allClassesAccess, 998 'allClasses': allClassesAccess,
999 'getTypeFromName': getTypeFromNameAccess, 999 'getTypeFromName': getTypeFromNameAccess,
1000 'interceptorsByTag': interceptorsByTagAccess, 1000 'interceptorsByTag': interceptorsByTagAccess,
1001 'leafTags': leafTagsAccess, 1001 'leafTags': leafTagsAccess,
1002 'finishedClasses': finishedClassesAccess, 1002 'finishedClasses': finishedClassesAccess,
1003 'needsLazyInitializer': needsLazyInitializer, 1003 'needsLazyInitializer': needsLazyInitializer,
1004 'lazies': laziesAccess, 1004 'lazies': laziesAccess,
1005 'cyclicThrow': cyclicThrow, 1005 'cyclicThrow': cyclicThrow,
1006 'isolatePropertiesName': namer.isolatePropertiesName, 1006 'isolatePropertiesName': namer.isolatePropertiesName,
(...skipping 1143 matching lines...) Expand 10 before | Expand all | Expand 10 after
2150 if (cachedElements.isEmpty) return; 2150 if (cachedElements.isEmpty) return;
2151 for (Element element in compiler.enqueuer.codegen.newlyEnqueuedElements) { 2151 for (Element element in compiler.enqueuer.codegen.newlyEnqueuedElements) {
2152 if (element.isInstanceMember) { 2152 if (element.isInstanceMember) {
2153 cachedClassBuilders.remove(element.enclosingClass); 2153 cachedClassBuilders.remove(element.enclosingClass);
2154 2154
2155 nativeEmitter.cachedBuilders.remove(element.enclosingClass); 2155 nativeEmitter.cachedBuilders.remove(element.enclosingClass);
2156 } 2156 }
2157 } 2157 }
2158 } 2158 }
2159 } 2159 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698