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

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

Issue 868483006: dart2js: remove additionalProperties and store it directly as nativeBlob. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rename nativeBlob to nativeInfo 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) 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.program_builder; 5 library dart2js.js_emitter.program_builder;
6 6
7 import 'js_emitter.dart' show computeMixinClass; 7 import 'js_emitter.dart' show computeMixinClass;
8 import 'model.dart'; 8 import 'model.dart';
9 9
10 import '../common.dart'; 10 import '../common.dart';
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 if (c is MixinApplication) { 92 if (c is MixinApplication) {
93 c.setMixinClass(_classes[computeMixinClass(element)]); 93 c.setMixinClass(_classes[computeMixinClass(element)]);
94 assert(c.mixinClass != null); 94 assert(c.mixinClass != null);
95 } 95 }
96 }); 96 });
97 97
98 List<Class> nativeClasses = _task.nativeClassesAndSubclasses 98 List<Class> nativeClasses = _task.nativeClassesAndSubclasses
99 .map((ClassElement classElement) => _classes[classElement]) 99 .map((ClassElement classElement) => _classes[classElement])
100 .toList(); 100 .toList();
101 101
102 Map<Class, Map<String, js.Expression>> additionalProperties =
103 new Map<Class, Map<String, js.Expression>>();
104
105 _unneededNativeClasses = 102 _unneededNativeClasses =
106 _task.nativeEmitter.prepareNativeClasses( 103 _task.nativeEmitter.prepareNativeClasses(nativeClasses);
107 nativeClasses,
108 additionalProperties);
109 104
110 MainFragment mainOutput = _buildMainOutput(_registry.mainLibrariesMap); 105 MainFragment mainOutput = _buildMainOutput(_registry.mainLibrariesMap);
111 Iterable<Fragment> deferredOutputs = _registry.deferredLibrariesMap 106 Iterable<Fragment> deferredOutputs = _registry.deferredLibrariesMap
112 .map((librariesMap) => _buildDeferredOutput(mainOutput, librariesMap)); 107 .map((librariesMap) => _buildDeferredOutput(mainOutput, librariesMap));
113 108
114 List<Fragment> outputs = new List<Fragment>(_registry.librariesMapCount); 109 List<Fragment> outputs = new List<Fragment>(_registry.librariesMapCount);
115 outputs[0] = mainOutput; 110 outputs[0] = mainOutput;
116 outputs.setAll(1, deferredOutputs); 111 outputs.setAll(1, deferredOutputs);
117 112
118 _markEagerClasses(); 113 _markEagerClasses();
119 114
120 bool containsNativeClasses = 115 bool containsNativeClasses =
121 nativeClasses.length != _unneededNativeClasses.length; 116 nativeClasses.length != _unneededNativeClasses.length;
122 117
123 return new Program( 118 return new Program(
124 outputs, 119 outputs,
125 additionalProperties,
126 _buildLoadMap(), 120 _buildLoadMap(),
127 outputContainsNativeClasses: containsNativeClasses, 121 outputContainsNativeClasses: containsNativeClasses,
128 outputContainsConstantList: _task.outputContainsConstantList); 122 outputContainsConstantList: _task.outputContainsConstantList);
129 } 123 }
130 124
131 void _markEagerClasses() { 125 void _markEagerClasses() {
132 _markEagerInterceptorClasses(); 126 _markEagerInterceptorClasses();
133 } 127 }
134 128
135 /// Builds a map from loadId to outputs-to-load. 129 /// Builds a map from loadId to outputs-to-load.
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 _registry.registerConstant(outputUnit, constantValue); 511 _registry.registerConstant(outputUnit, constantValue);
518 assert(!_constants.containsKey(constantValue)); 512 assert(!_constants.containsKey(constantValue));
519 String name = namer.constantName(constantValue); 513 String name = namer.constantName(constantValue);
520 String constantObject = namer.globalObjectForConstant(constantValue); 514 String constantObject = namer.globalObjectForConstant(constantValue);
521 Holder holder = _registry.registerHolder(constantObject); 515 Holder holder = _registry.registerHolder(constantObject);
522 Constant constant = new Constant(name, holder, constantValue); 516 Constant constant = new Constant(name, holder, constantValue);
523 _constants[constantValue] = constant; 517 _constants[constantValue] = constant;
524 } 518 }
525 } 519 }
526 } 520 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart ('k') | pkg/dart2js_incremental/lib/caching_compiler.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698