| OLD | NEW |
| 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 part of dart2js.js_emitter; | 5 part of dart2js.js_emitter; |
| 6 | 6 |
| 7 | 7 |
| 8 class OldEmitter implements Emitter { | 8 class OldEmitter implements Emitter { |
| 9 final Compiler compiler; | 9 final Compiler compiler; |
| 10 final CodeEmitterTask task; | 10 final CodeEmitterTask task; |
| (...skipping 779 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 790 jsAst.Expression finishedClassesAccess = | 790 jsAst.Expression finishedClassesAccess = |
| 791 generateEmbeddedGlobalAccess(embeddedNames.FINISHED_CLASSES); | 791 generateEmbeddedGlobalAccess(embeddedNames.FINISHED_CLASSES); |
| 792 jsAst.Expression cyclicThrow = | 792 jsAst.Expression cyclicThrow = |
| 793 staticFunctionAccess(backend.getCyclicThrowHelper()); | 793 staticFunctionAccess(backend.getCyclicThrowHelper()); |
| 794 jsAst.Expression laziesAccess = | 794 jsAst.Expression laziesAccess = |
| 795 generateEmbeddedGlobalAccess(embeddedNames.LAZIES); | 795 generateEmbeddedGlobalAccess(embeddedNames.LAZIES); |
| 796 | 796 |
| 797 return js.statement(''' | 797 return js.statement(''' |
| 798 function init() { | 798 function init() { |
| 799 $isolatePropertiesName = Object.create(null); | 799 $isolatePropertiesName = Object.create(null); |
| 800 #allClasses = Object.create(null); | 800 #allClasses = map(); |
| 801 #getTypeFromName = function(name) {return #allClasses[name];}; | 801 #getTypeFromName = function(name) {return #allClasses[name];}; |
| 802 #interceptorsByTag = Object.create(null); | 802 #interceptorsByTag = map(); |
| 803 #leafTags = Object.create(null); | 803 #leafTags = map(); |
| 804 #finishedClasses = Object.create(null); | 804 #finishedClasses = map(); |
| 805 | 805 |
| 806 if (#needsLazyInitializer) { | 806 if (#needsLazyInitializer) { |
| 807 // [staticName] is only provided in non-minified mode. If missing, we | 807 // [staticName] is only provided in non-minified mode. If missing, we |
| 808 // fall back to [fieldName]. Likewise, [prototype] is optional and | 808 // fall back to [fieldName]. Likewise, [prototype] is optional and |
| 809 // defaults to the isolateProperties object. | 809 // defaults to the isolateProperties object. |
| 810 $lazyInitializerName = function (fieldName, getterName, lazyValue, | 810 $lazyInitializerName = function (fieldName, getterName, lazyValue, |
| 811 staticName, prototype) { | 811 staticName, prototype) { |
| 812 if (!#lazies) #lazies = Object.create(null); | 812 if (!#lazies) #lazies = Object.create(null); |
| 813 #lazies[fieldName] = getterName; | 813 #lazies[fieldName] = getterName; |
| 814 | 814 |
| (...skipping 1187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2002 for (Element element in compiler.enqueuer.codegen.newlyEnqueuedElements) { | 2002 for (Element element in compiler.enqueuer.codegen.newlyEnqueuedElements) { |
| 2003 if (element.isInstanceMember) { | 2003 if (element.isInstanceMember) { |
| 2004 cachedClassBuilders.remove(element.enclosingClass); | 2004 cachedClassBuilders.remove(element.enclosingClass); |
| 2005 | 2005 |
| 2006 nativeEmitter.cachedBuilders.remove(element.enclosingClass); | 2006 nativeEmitter.cachedBuilders.remove(element.enclosingClass); |
| 2007 | 2007 |
| 2008 } | 2008 } |
| 2009 } | 2009 } |
| 2010 } | 2010 } |
| 2011 } | 2011 } |
| OLD | NEW |