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

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

Issue 2558763003: Move hasRuntimeTypeSupport, hasIsolateSupport, and hasFunctionApplySupport to JavaScriptBackend. (Closed)
Patch Set: Updated cf. comment Created 4 years 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.program_builder; 5 library dart2js.js_emitter.program_builder;
6 6
7 import '../../closure.dart' show ClosureFieldElement; 7 import '../../closure.dart' show ClosureFieldElement;
8 import '../../common.dart'; 8 import '../../common.dart';
9 import '../../common/names.dart' show Names, Selectors; 9 import '../../common/names.dart' show Names, Selectors;
10 import '../../compiler.dart' show Compiler; 10 import '../../compiler.dart' show Compiler;
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 List<js.TokenFinalizer> finalizers = [_task.metadataCollector]; 177 List<js.TokenFinalizer> finalizers = [_task.metadataCollector];
178 if (backend.namer is js.TokenFinalizer) { 178 if (backend.namer is js.TokenFinalizer) {
179 var namingFinalizer = backend.namer; 179 var namingFinalizer = backend.namer;
180 finalizers.add(namingFinalizer); 180 finalizers.add(namingFinalizer);
181 } 181 }
182 182
183 return new Program(fragments, holders, _buildLoadMap(), _symbolsMap, 183 return new Program(fragments, holders, _buildLoadMap(), _symbolsMap,
184 _buildTypeToInterceptorMap(), _task.metadataCollector, finalizers, 184 _buildTypeToInterceptorMap(), _task.metadataCollector, finalizers,
185 needsNativeSupport: needsNativeSupport, 185 needsNativeSupport: needsNativeSupport,
186 outputContainsConstantList: collector.outputContainsConstantList, 186 outputContainsConstantList: collector.outputContainsConstantList,
187 hasIsolateSupport: _compiler.hasIsolateSupport); 187 hasIsolateSupport: backend.hasIsolateSupport);
188 } 188 }
189 189
190 void _markEagerClasses() { 190 void _markEagerClasses() {
191 _markEagerInterceptorClasses(); 191 _markEagerInterceptorClasses();
192 } 192 }
193 193
194 /// Builds a map from loadId to outputs-to-load. 194 /// Builds a map from loadId to outputs-to-load.
195 Map<String, List<Fragment>> _buildLoadMap() { 195 Map<String, List<Fragment>> _buildLoadMap() {
196 Map<String, List<Fragment>> loadMap = <String, List<Fragment>>{}; 196 Map<String, List<Fragment>> loadMap = <String, List<Fragment>>{};
197 _compiler.deferredLoadTask.hunksToLoad 197 _compiler.deferredLoadTask.hunksToLoad
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 } 668 }
669 669
670 bool _methodCanBeReflected(FunctionElement method) { 670 bool _methodCanBeReflected(FunctionElement method) {
671 return backend.isAccessibleByReflection(method) || 671 return backend.isAccessibleByReflection(method) ||
672 // During incremental compilation, we have to assume that reflection 672 // During incremental compilation, we have to assume that reflection
673 // *might* get enabled. 673 // *might* get enabled.
674 _compiler.options.hasIncrementalSupport; 674 _compiler.options.hasIncrementalSupport;
675 } 675 }
676 676
677 bool _methodCanBeApplied(FunctionElement method) { 677 bool _methodCanBeApplied(FunctionElement method) {
678 return _compiler.hasFunctionApplySupport && 678 return backend.hasFunctionApplySupport &&
679 _compiler.closedWorld.getMightBePassedToApply(method); 679 _compiler.closedWorld.getMightBePassedToApply(method);
680 } 680 }
681 681
682 // TODO(herhut): Refactor incremental compilation and remove method. 682 // TODO(herhut): Refactor incremental compilation and remove method.
683 Method buildMethodHackForIncrementalCompilation(FunctionElement element) { 683 Method buildMethodHackForIncrementalCompilation(FunctionElement element) {
684 assert(_compiler.options.hasIncrementalSupport); 684 assert(_compiler.options.hasIncrementalSupport);
685 if (element.isInstanceMember) { 685 if (element.isInstanceMember) {
686 return _buildMethod(element); 686 return _buildMethod(element);
687 } else { 687 } else {
688 return _buildStaticMethod(element); 688 return _buildStaticMethod(element);
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
981 Constant constant = new Constant(name, holder, constantValue); 981 Constant constant = new Constant(name, holder, constantValue);
982 _constants[constantValue] = constant; 982 _constants[constantValue] = constant;
983 } 983 }
984 } 984 }
985 985
986 Holder _registerStaticStateHolder() { 986 Holder _registerStaticStateHolder() {
987 return _registry.registerHolder(namer.staticStateHolder, 987 return _registry.registerHolder(namer.staticStateHolder,
988 isStaticStateHolder: true); 988 isStaticStateHolder: true);
989 } 989 }
990 } 990 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart ('k') | pkg/compiler/lib/src/ssa/builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698