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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/js_backend/backend.dart

Issue 14173003: Remove Collection, Collections and clean up List/Set/Queue implementations of retain/remove. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 js_backend; 5 part of js_backend;
6 6
7 typedef void Recompile(Element element); 7 typedef void Recompile(Element element);
8 8
9 class ReturnInfo { 9 class ReturnInfo {
10 HType returnType; 10 HType returnType;
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after
727 // explicit receiver. https://code.google.com/p/dart/issues/detail?id=8942 727 // explicit receiver. https://code.google.com/p/dart/issues/detail?id=8942
728 728
729 /** 729 /**
730 * A map of specialized versions of the [getInterceptorMethod]. 730 * A map of specialized versions of the [getInterceptorMethod].
731 * Since [getInterceptorMethod] is a hot method at runtime, we're 731 * Since [getInterceptorMethod] is a hot method at runtime, we're
732 * always specializing it based on the incoming type. The keys in 732 * always specializing it based on the incoming type. The keys in
733 * the map are the names of these specialized versions. Note that 733 * the map are the names of these specialized versions. Note that
734 * the generic version that contains all possible type checks is 734 * the generic version that contains all possible type checks is
735 * also stored in this map. 735 * also stored in this map.
736 */ 736 */
737 final Map<String, Collection<ClassElement>> specializedGetInterceptors; 737 final Map<String, Set<ClassElement>> specializedGetInterceptors;
738 738
739 /** 739 /**
740 * Set of classes whose methods are intercepted. 740 * Set of classes whose methods are intercepted.
741 */ 741 */
742 final Set<ClassElement> interceptedClasses = new Set<ClassElement>(); 742 final Set<ClassElement> interceptedClasses = new Set<ClassElement>();
743 743
744 /** 744 /**
745 * Set of classes used as mixins on native classes. Methods on these classes 745 * Set of classes used as mixins on native classes. Methods on these classes
746 * might also be mixed in to non-native classes. 746 * might also be mixed in to non-native classes.
747 */ 747 */
(...skipping 12 matching lines...) Expand all
760 final RuntimeTypes rti; 760 final RuntimeTypes rti;
761 761
762 JavaScriptBackend(Compiler compiler, bool generateSourceMap, bool disableEval) 762 JavaScriptBackend(Compiler compiler, bool generateSourceMap, bool disableEval)
763 : namer = determineNamer(compiler), 763 : namer = determineNamer(compiler),
764 returnInfo = new Map<Element, ReturnInfo>(), 764 returnInfo = new Map<Element, ReturnInfo>(),
765 invalidateAfterCodegen = new List<Element>(), 765 invalidateAfterCodegen = new List<Element>(),
766 usedInterceptors = new Set<Selector>(), 766 usedInterceptors = new Set<Selector>(),
767 oneShotInterceptors = new Map<String, Selector>(), 767 oneShotInterceptors = new Map<String, Selector>(),
768 interceptedElements = new Map<SourceString, Set<Element>>(), 768 interceptedElements = new Map<SourceString, Set<Element>>(),
769 rti = new RuntimeTypes(compiler), 769 rti = new RuntimeTypes(compiler),
770 specializedGetInterceptors = 770 specializedGetInterceptors = new Map<String, Set<ClassElement>>(),
771 new Map<String, Collection<ClassElement>>(),
772 super(compiler, JAVA_SCRIPT_CONSTANT_SYSTEM) { 771 super(compiler, JAVA_SCRIPT_CONSTANT_SYSTEM) {
773 emitter = disableEval 772 emitter = disableEval
774 ? new CodeEmitterNoEvalTask(compiler, namer, generateSourceMap) 773 ? new CodeEmitterNoEvalTask(compiler, namer, generateSourceMap)
775 : new CodeEmitterTask(compiler, namer, generateSourceMap); 774 : new CodeEmitterTask(compiler, namer, generateSourceMap);
776 builder = new SsaBuilderTask(this); 775 builder = new SsaBuilderTask(this);
777 optimizer = new SsaOptimizerTask(this); 776 optimizer = new SsaOptimizerTask(this);
778 generator = new SsaCodeGeneratorTask(this); 777 generator = new SsaCodeGeneratorTask(this);
779 argumentTypes = new ArgumentTypesRegistry(this); 778 argumentTypes = new ArgumentTypesRegistry(this);
780 fieldTypes = new FieldTypesRegistry(this); 779 fieldTypes = new FieldTypesRegistry(this);
781 } 780 }
(...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after
1765 ClassElement get constListImplementation => jsArrayClass; 1764 ClassElement get constListImplementation => jsArrayClass;
1766 ClassElement get fixedListImplementation => jsFixedArrayClass; 1765 ClassElement get fixedListImplementation => jsFixedArrayClass;
1767 ClassElement get growableListImplementation => jsExtendableArrayClass; 1766 ClassElement get growableListImplementation => jsExtendableArrayClass;
1768 ClassElement get mapImplementation => mapLiteralClass; 1767 ClassElement get mapImplementation => mapLiteralClass;
1769 ClassElement get constMapImplementation => constMapLiteralClass; 1768 ClassElement get constMapImplementation => constMapLiteralClass;
1770 ClassElement get functionImplementation => jsFunctionClass; 1769 ClassElement get functionImplementation => jsFunctionClass;
1771 ClassElement get typeImplementation => typeLiteralClass; 1770 ClassElement get typeImplementation => typeLiteralClass;
1772 ClassElement get boolImplementation => jsBoolClass; 1771 ClassElement get boolImplementation => jsBoolClass;
1773 ClassElement get nullImplementation => jsNullClass; 1772 ClassElement get nullImplementation => jsNullClass;
1774 } 1773 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698