| OLD | NEW |
| 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 853 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 864 initializeNoSuchMethod(); | 864 initializeNoSuchMethod(); |
| 865 seenAnyClass = true; | 865 seenAnyClass = true; |
| 866 } | 866 } |
| 867 ClassElement result = null; | 867 ClassElement result = null; |
| 868 if (cls == compiler.stringClass) { | 868 if (cls == compiler.stringClass) { |
| 869 addInterceptors(jsStringClass, enqueuer); | 869 addInterceptors(jsStringClass, enqueuer); |
| 870 } else if (cls == compiler.listClass) { | 870 } else if (cls == compiler.listClass) { |
| 871 addInterceptors(jsArrayClass, enqueuer); | 871 addInterceptors(jsArrayClass, enqueuer); |
| 872 // The backend will try to optimize array access and use the | 872 // The backend will try to optimize array access and use the |
| 873 // `ioore` and `iae` helpers directly. | 873 // `ioore` and `iae` helpers directly. |
| 874 enqueuer.registerStaticUse( | 874 if (enqueuer.isResolutionQueue) { |
| 875 compiler.findHelper(const SourceString('ioore'))); | 875 enqueuer.registerStaticUse( |
| 876 enqueuer.registerStaticUse( | 876 compiler.findHelper(const SourceString('ioore'))); |
| 877 compiler.findHelper(const SourceString('iae'))); | 877 enqueuer.registerStaticUse( |
| 878 compiler.findHelper(const SourceString('iae'))); |
| 879 } |
| 878 } else if (cls == compiler.intClass) { | 880 } else if (cls == compiler.intClass) { |
| 879 addInterceptors(jsIntClass, enqueuer); | 881 addInterceptors(jsIntClass, enqueuer); |
| 880 addInterceptors(jsNumberClass, enqueuer); | 882 addInterceptors(jsNumberClass, enqueuer); |
| 881 } else if (cls == compiler.doubleClass) { | 883 } else if (cls == compiler.doubleClass) { |
| 882 addInterceptors(jsDoubleClass, enqueuer); | 884 addInterceptors(jsDoubleClass, enqueuer); |
| 883 addInterceptors(jsNumberClass, enqueuer); | 885 addInterceptors(jsNumberClass, enqueuer); |
| 884 } else if (cls == compiler.functionClass) { | 886 } else if (cls == compiler.functionClass) { |
| 885 addInterceptors(jsFunctionClass, enqueuer); | 887 addInterceptors(jsFunctionClass, enqueuer); |
| 886 } else if (cls == compiler.boolClass) { | 888 } else if (cls == compiler.boolClass) { |
| 887 addInterceptors(jsBoolClass, enqueuer); | 889 addInterceptors(jsBoolClass, enqueuer); |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1200 } | 1202 } |
| 1201 | 1203 |
| 1202 Element getSetRuntimeTypeInfo() { | 1204 Element getSetRuntimeTypeInfo() { |
| 1203 return compiler.findHelper(const SourceString('setRuntimeTypeInfo')); | 1205 return compiler.findHelper(const SourceString('setRuntimeTypeInfo')); |
| 1204 } | 1206 } |
| 1205 | 1207 |
| 1206 Element getGetRuntimeTypeInfo() { | 1208 Element getGetRuntimeTypeInfo() { |
| 1207 return compiler.findHelper(const SourceString('getRuntimeTypeInfo')); | 1209 return compiler.findHelper(const SourceString('getRuntimeTypeInfo')); |
| 1208 } | 1210 } |
| 1209 } | 1211 } |
| OLD | NEW |