| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 #include "vm/intermediate_language.h" | 5 #include "vm/intermediate_language.h" |
| 6 | 6 |
| 7 #include "vm/bit_vector.h" | 7 #include "vm/bit_vector.h" |
| 8 #include "vm/dart_entry.h" | 8 #include "vm/dart_entry.h" |
| 9 #include "vm/flow_graph_allocator.h" | 9 #include "vm/flow_graph_allocator.h" |
| 10 #include "vm/flow_graph_builder.h" | 10 #include "vm/flow_graph_builder.h" |
| (...skipping 1201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1212 case kArrayCid: | 1212 case kArrayCid: |
| 1213 case kImmutableArrayCid: | 1213 case kImmutableArrayCid: |
| 1214 return Type::DynamicType(); | 1214 return Type::DynamicType(); |
| 1215 case kFloat32ArrayCid : | 1215 case kFloat32ArrayCid : |
| 1216 case kFloat64ArrayCid : | 1216 case kFloat64ArrayCid : |
| 1217 return Type::Double(); | 1217 return Type::Double(); |
| 1218 case kInt8ArrayCid: | 1218 case kInt8ArrayCid: |
| 1219 case kUint8ArrayCid: | 1219 case kUint8ArrayCid: |
| 1220 case kUint8ClampedArrayCid: | 1220 case kUint8ClampedArrayCid: |
| 1221 case kExternalUint8ArrayCid: | 1221 case kExternalUint8ArrayCid: |
| 1222 case kExternalUint8ClampedArrayCid: |
| 1222 case kInt16ArrayCid: | 1223 case kInt16ArrayCid: |
| 1223 case kUint16ArrayCid: | 1224 case kUint16ArrayCid: |
| 1224 case kInt32ArrayCid: | 1225 case kInt32ArrayCid: |
| 1225 case kUint32ArrayCid: | 1226 case kUint32ArrayCid: |
| 1226 case kOneByteStringCid: | 1227 case kOneByteStringCid: |
| 1227 case kTwoByteStringCid: | 1228 case kTwoByteStringCid: |
| 1228 return Type::IntType(); | 1229 return Type::IntType(); |
| 1229 default: | 1230 default: |
| 1230 UNIMPLEMENTED(); | 1231 UNIMPLEMENTED(); |
| 1231 return Type::IntType(); | 1232 return Type::IntType(); |
| (...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1708 case kArrayCid: | 1709 case kArrayCid: |
| 1709 return MethodRecognizer::kObjectArrayLength; | 1710 return MethodRecognizer::kObjectArrayLength; |
| 1710 case kImmutableArrayCid: | 1711 case kImmutableArrayCid: |
| 1711 return MethodRecognizer::kImmutableArrayLength; | 1712 return MethodRecognizer::kImmutableArrayLength; |
| 1712 case kGrowableObjectArrayCid: | 1713 case kGrowableObjectArrayCid: |
| 1713 return MethodRecognizer::kGrowableArrayLength; | 1714 return MethodRecognizer::kGrowableArrayLength; |
| 1714 case kInt8ArrayCid: | 1715 case kInt8ArrayCid: |
| 1715 case kUint8ArrayCid: | 1716 case kUint8ArrayCid: |
| 1716 case kUint8ClampedArrayCid: | 1717 case kUint8ClampedArrayCid: |
| 1717 case kExternalUint8ArrayCid: | 1718 case kExternalUint8ArrayCid: |
| 1719 case kExternalUint8ClampedArrayCid: |
| 1718 case kInt16ArrayCid: | 1720 case kInt16ArrayCid: |
| 1719 case kUint16ArrayCid: | 1721 case kUint16ArrayCid: |
| 1720 case kInt32ArrayCid: | 1722 case kInt32ArrayCid: |
| 1721 case kUint32ArrayCid: | 1723 case kUint32ArrayCid: |
| 1722 case kInt64ArrayCid: | 1724 case kInt64ArrayCid: |
| 1723 case kUint64ArrayCid: | 1725 case kUint64ArrayCid: |
| 1724 case kFloat32ArrayCid: | 1726 case kFloat32ArrayCid: |
| 1725 case kFloat64ArrayCid: | 1727 case kFloat64ArrayCid: |
| 1726 return MethodRecognizer::kByteArrayBaseLength; | 1728 return MethodRecognizer::kByteArrayBaseLength; |
| 1727 default: | 1729 default: |
| (...skipping 763 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2491 | 2493 |
| 2492 void LoadIndexedInstr::InferRange() { | 2494 void LoadIndexedInstr::InferRange() { |
| 2493 switch (class_id()) { | 2495 switch (class_id()) { |
| 2494 case kInt8ArrayCid: | 2496 case kInt8ArrayCid: |
| 2495 range_ = new Range(RangeBoundary::FromConstant(-128), | 2497 range_ = new Range(RangeBoundary::FromConstant(-128), |
| 2496 RangeBoundary::FromConstant(127)); | 2498 RangeBoundary::FromConstant(127)); |
| 2497 break; | 2499 break; |
| 2498 case kUint8ArrayCid: | 2500 case kUint8ArrayCid: |
| 2499 case kUint8ClampedArrayCid: | 2501 case kUint8ClampedArrayCid: |
| 2500 case kExternalUint8ArrayCid: | 2502 case kExternalUint8ArrayCid: |
| 2503 case kExternalUint8ClampedArrayCid: |
| 2501 range_ = new Range(RangeBoundary::FromConstant(0), | 2504 range_ = new Range(RangeBoundary::FromConstant(0), |
| 2502 RangeBoundary::FromConstant(255)); | 2505 RangeBoundary::FromConstant(255)); |
| 2503 break; | 2506 break; |
| 2504 case kInt16ArrayCid: | 2507 case kInt16ArrayCid: |
| 2505 range_ = new Range(RangeBoundary::FromConstant(-32768), | 2508 range_ = new Range(RangeBoundary::FromConstant(-32768), |
| 2506 RangeBoundary::FromConstant(32767)); | 2509 RangeBoundary::FromConstant(32767)); |
| 2507 break; | 2510 break; |
| 2508 case kUint16ArrayCid: | 2511 case kUint16ArrayCid: |
| 2509 range_ = new Range(RangeBoundary::FromConstant(0), | 2512 range_ = new Range(RangeBoundary::FromConstant(0), |
| 2510 RangeBoundary::FromConstant(65535)); | 2513 RangeBoundary::FromConstant(65535)); |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2770 case kUint8ClampedArrayCid: | 2773 case kUint8ClampedArrayCid: |
| 2771 case kInt16ArrayCid: | 2774 case kInt16ArrayCid: |
| 2772 case kUint16ArrayCid: | 2775 case kUint16ArrayCid: |
| 2773 case kInt32ArrayCid: | 2776 case kInt32ArrayCid: |
| 2774 case kUint32ArrayCid: | 2777 case kUint32ArrayCid: |
| 2775 case kInt64ArrayCid: | 2778 case kInt64ArrayCid: |
| 2776 case kUint64ArrayCid: | 2779 case kUint64ArrayCid: |
| 2777 case kFloat64ArrayCid: | 2780 case kFloat64ArrayCid: |
| 2778 case kFloat32ArrayCid: | 2781 case kFloat32ArrayCid: |
| 2779 case kExternalUint8ArrayCid: | 2782 case kExternalUint8ArrayCid: |
| 2783 case kExternalUint8ClampedArrayCid: |
| 2780 return ByteArray::length_offset(); | 2784 return ByteArray::length_offset(); |
| 2781 default: | 2785 default: |
| 2782 UNREACHABLE(); | 2786 UNREACHABLE(); |
| 2783 return -1; | 2787 return -1; |
| 2784 } | 2788 } |
| 2785 } | 2789 } |
| 2786 | 2790 |
| 2787 | 2791 |
| 2788 intptr_t InvokeMathCFunctionInstr::ArgumentCountFor( | 2792 intptr_t InvokeMathCFunctionInstr::ArgumentCountFor( |
| 2789 MethodRecognizer::Kind kind) { | 2793 MethodRecognizer::Kind kind) { |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2850 default: | 2854 default: |
| 2851 UNREACHABLE(); | 2855 UNREACHABLE(); |
| 2852 } | 2856 } |
| 2853 return kPowRuntimeEntry; | 2857 return kPowRuntimeEntry; |
| 2854 } | 2858 } |
| 2855 | 2859 |
| 2856 | 2860 |
| 2857 #undef __ | 2861 #undef __ |
| 2858 | 2862 |
| 2859 } // namespace dart | 2863 } // namespace dart |
| OLD | NEW |