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

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

Issue 11348316: Move the handling of operator[] into the new interceptors. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 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 | 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 817 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 void registerInstantiatedClass(ClassElement cls, Enqueuer enqueuer) { 828 void registerInstantiatedClass(ClassElement cls, Enqueuer enqueuer) {
829 ClassElement result = null; 829 ClassElement result = null;
830 if (!_interceptorsAreInitialized) { 830 if (!_interceptorsAreInitialized) {
831 initializeInterceptorElements(); 831 initializeInterceptorElements();
832 _interceptorsAreInitialized = true; 832 _interceptorsAreInitialized = true;
833 } 833 }
834 if (cls == compiler.stringClass) { 834 if (cls == compiler.stringClass) {
835 result = jsStringClass; 835 result = jsStringClass;
836 } else if (cls == compiler.listClass) { 836 } else if (cls == compiler.listClass) {
837 result = jsArrayClass; 837 result = jsArrayClass;
838 // The backend will try to optimize array access and use the
839 // [:ioore:] and [:iae:] helpers directly.
840 enqueuer.registerStaticUse(
841 compiler.findHelper(const SourceString('ioore')));
842 enqueuer.registerStaticUse(
843 compiler.findHelper(const SourceString('iae')));
838 } else if (cls == compiler.intClass) { 844 } else if (cls == compiler.intClass) {
839 result = jsIntClass; 845 result = jsIntClass;
840 enqueuer.registerInstantiatedClass(jsNumberClass); 846 enqueuer.registerInstantiatedClass(jsNumberClass);
841 } else if (cls == compiler.doubleClass) { 847 } else if (cls == compiler.doubleClass) {
842 result = jsDoubleClass; 848 result = jsDoubleClass;
843 enqueuer.registerInstantiatedClass(jsNumberClass); 849 enqueuer.registerInstantiatedClass(jsNumberClass);
844 } else if (cls == compiler.functionClass) { 850 } else if (cls == compiler.functionClass) {
845 result = jsFunctionClass; 851 result = jsFunctionClass;
846 } else if (cls == compiler.boolClass) { 852 } else if (cls == compiler.boolClass) {
847 result = jsBoolClass; 853 result = jsBoolClass;
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
1116 print("Inferred return types:"); 1122 print("Inferred return types:");
1117 print("----------------------"); 1123 print("----------------------");
1118 dumpReturnTypes(); 1124 dumpReturnTypes();
1119 print(""); 1125 print("");
1120 print("Inferred field types:"); 1126 print("Inferred field types:");
1121 print("------------------------"); 1127 print("------------------------");
1122 fieldTypes.dump(); 1128 fieldTypes.dump();
1123 print(""); 1129 print("");
1124 } 1130 }
1125 } 1131 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698