| 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 library dart2js.new_js_emitter.model_emitter; | 5 library dart2js.new_js_emitter.model_emitter; |
| 6 | 6 |
| 7 import '../../dart2jslib.dart' show Compiler; | 7 import '../../dart2jslib.dart' show Compiler; |
| 8 import '../../js/js.dart' as js; | 8 import '../../js/js.dart' as js; |
| 9 import '../../js_backend/js_backend.dart' show | 9 import '../../js_backend/js_backend.dart' show |
| 10 JavaScriptBackend, | 10 JavaScriptBackend, |
| 11 Namer, | 11 Namer, |
| 12 ConstantEmitter; | 12 ConstantEmitter; |
| 13 | 13 |
| 14 import 'package:_internal/compiler/js_lib/shared/embedded_names.dart' show | 14 import 'package:_internal/compiler/js_lib/shared/embedded_names.dart' show |
| 15 DEFERRED_LIBRARY_URIS, | 15 DEFERRED_LIBRARY_URIS, |
| 16 DEFERRED_LIBRARY_HASHES, | 16 DEFERRED_LIBRARY_HASHES, |
| 17 GET_TYPE_FROM_NAME, | 17 GET_TYPE_FROM_NAME, |
| 18 INITIALIZE_LOADED_HUNK, | 18 INITIALIZE_LOADED_HUNK, |
| 19 IS_HUNK_INITIALIZED, | 19 IS_HUNK_INITIALIZED, |
| 20 IS_HUNK_LOADED; | 20 IS_HUNK_LOADED, |
| 21 MANGLED_GLOBAL_NAMES; |
| 21 | 22 |
| 22 import '../js_emitter.dart' show NativeGenerator; | 23 import '../js_emitter.dart' show NativeGenerator; |
| 23 import '../model.dart'; | 24 import '../model.dart'; |
| 24 | 25 |
| 25 class ModelEmitter { | 26 class ModelEmitter { |
| 26 final Compiler compiler; | 27 final Compiler compiler; |
| 27 final Namer namer; | 28 final Namer namer; |
| 28 final ConstantEmitter constantEmitter; | 29 final ConstantEmitter constantEmitter; |
| 29 | 30 |
| 30 JavaScriptBackend get backend => compiler.backend; | 31 JavaScriptBackend get backend => compiler.backend; |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 | 151 |
| 151 js.Block emitEmbeddedGlobals(Map<String, List<Fragment>> loadMap) { | 152 js.Block emitEmbeddedGlobals(Map<String, List<Fragment>> loadMap) { |
| 152 List<js.Property> globals = <js.Property>[]; | 153 List<js.Property> globals = <js.Property>[]; |
| 153 | 154 |
| 154 if (loadMap.isNotEmpty) { | 155 if (loadMap.isNotEmpty) { |
| 155 globals.addAll(emitLoadUrisAndHashes(loadMap)); | 156 globals.addAll(emitLoadUrisAndHashes(loadMap)); |
| 156 globals.add(emitIsHunkLoadedFunction()); | 157 globals.add(emitIsHunkLoadedFunction()); |
| 157 globals.add(emitInitializeLoadedHunk()); | 158 globals.add(emitInitializeLoadedHunk()); |
| 158 } | 159 } |
| 159 | 160 |
| 161 globals.add(new js.Property(js.string(MANGLED_GLOBAL_NAMES), |
| 162 js.js('Object.create(null)', []))); |
| 163 |
| 160 globals.add(emitGetTypeFromName()); | 164 globals.add(emitGetTypeFromName()); |
| 161 js.ObjectInitializer globalsObject = new js.ObjectInitializer(globals); | 165 js.ObjectInitializer globalsObject = new js.ObjectInitializer(globals); |
| 162 | 166 |
| 163 List<js.Statement> statements = | 167 List<js.Statement> statements = |
| 164 [new js.ExpressionStatement( | 168 [new js.ExpressionStatement( |
| 165 new js.VariableDeclarationList( | 169 new js.VariableDeclarationList( |
| 166 [new js.VariableInitialization( | 170 [new js.VariableInitialization( |
| 167 new js.VariableDeclaration("init", allowRename: false), | 171 new js.VariableDeclaration("init", allowRename: false), |
| 168 globalsObject)]))]; | 172 globalsObject)]))]; |
| 169 return new js.Block(statements); | 173 return new js.Block(statements); |
| (...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 | 581 |
| 578 var end = Date.now(); | 582 var end = Date.now(); |
| 579 print('Setup: ' + (end - start) + ' ms.'); | 583 print('Setup: ' + (end - start) + ' ms.'); |
| 580 | 584 |
| 581 #main(); // Start main. | 585 #main(); // Start main. |
| 582 | 586 |
| 583 }(Date.now(), #code) | 587 }(Date.now(), #code) |
| 584 }"""; | 588 }"""; |
| 585 | 589 |
| 586 } | 590 } |
| OLD | NEW |