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

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, Iterable<ClassElement>> specializedGetInterceptors;
floitsch 2013/04/11 15:17:50 I think this should be a Set.
Anders Johnsen 2013/04/12 09:31:14 Done.
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 13 matching lines...) Expand all
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 =
771 new Map<String, Collection<ClassElement>>(), 771 new Map<String, Iterable<ClassElement>>(),
floitsch 2013/04/11 15:17:50 Set
Anders Johnsen 2013/04/12 09:31:14 Done.
772 super(compiler, JAVA_SCRIPT_CONSTANT_SYSTEM) { 772 super(compiler, JAVA_SCRIPT_CONSTANT_SYSTEM) {
773 emitter = disableEval 773 emitter = disableEval
774 ? new CodeEmitterNoEvalTask(compiler, namer, generateSourceMap) 774 ? new CodeEmitterNoEvalTask(compiler, namer, generateSourceMap)
775 : new CodeEmitterTask(compiler, namer, generateSourceMap); 775 : new CodeEmitterTask(compiler, namer, generateSourceMap);
776 builder = new SsaBuilderTask(this); 776 builder = new SsaBuilderTask(this);
777 optimizer = new SsaOptimizerTask(this); 777 optimizer = new SsaOptimizerTask(this);
778 generator = new SsaCodeGeneratorTask(this); 778 generator = new SsaCodeGeneratorTask(this);
779 argumentTypes = new ArgumentTypesRegistry(this); 779 argumentTypes = new ArgumentTypesRegistry(this);
780 fieldTypes = new FieldTypesRegistry(this); 780 fieldTypes = new FieldTypesRegistry(this);
781 } 781 }
(...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after
1765 ClassElement get constListImplementation => jsArrayClass; 1765 ClassElement get constListImplementation => jsArrayClass;
1766 ClassElement get fixedListImplementation => jsFixedArrayClass; 1766 ClassElement get fixedListImplementation => jsFixedArrayClass;
1767 ClassElement get growableListImplementation => jsExtendableArrayClass; 1767 ClassElement get growableListImplementation => jsExtendableArrayClass;
1768 ClassElement get mapImplementation => mapLiteralClass; 1768 ClassElement get mapImplementation => mapLiteralClass;
1769 ClassElement get constMapImplementation => constMapLiteralClass; 1769 ClassElement get constMapImplementation => constMapLiteralClass;
1770 ClassElement get functionImplementation => jsFunctionClass; 1770 ClassElement get functionImplementation => jsFunctionClass;
1771 ClassElement get typeImplementation => typeLiteralClass; 1771 ClassElement get typeImplementation => typeLiteralClass;
1772 ClassElement get boolImplementation => jsBoolClass; 1772 ClassElement get boolImplementation => jsBoolClass;
1773 ClassElement get nullImplementation => jsNullClass; 1773 ClassElement get nullImplementation => jsNullClass;
1774 } 1774 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698