| 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 #ifndef VM_ASSEMBLER_ARM_H_ | 5 #ifndef VM_ASSEMBLER_ARM_H_ |
| 6 #define VM_ASSEMBLER_ARM_H_ | 6 #define VM_ASSEMBLER_ARM_H_ |
| 7 | 7 |
| 8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
| 9 #error Do not include assembler_arm.h directly; use assembler.h instead. | 9 #error Do not include assembler_arm.h directly; use assembler.h instead. |
| 10 #endif | 10 #endif |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 void LinkTo(intptr_t position) { | 56 void LinkTo(intptr_t position) { |
| 57 ASSERT(!IsBound()); | 57 ASSERT(!IsBound()); |
| 58 position_ = position + kWordSize; | 58 position_ = position + kWordSize; |
| 59 ASSERT(IsLinked()); | 59 ASSERT(IsLinked()); |
| 60 } | 60 } |
| 61 | 61 |
| 62 friend class Assembler; | 62 friend class Assembler; |
| 63 DISALLOW_COPY_AND_ASSIGN(Label); | 63 DISALLOW_COPY_AND_ASSIGN(Label); |
| 64 }; | 64 }; |
| 65 | 65 |
| 66 | |
| 67 class CPUFeatures : public AllStatic { | |
| 68 public: | |
| 69 static void InitOnce(); | |
| 70 static bool double_truncate_round_supported() { return false; } | |
| 71 static bool integer_division_supported(); | |
| 72 static bool neon_supported(); | |
| 73 #if defined(USING_SIMULATOR) | |
| 74 static void set_integer_division_supported(bool supported); | |
| 75 static void set_neon_supported(bool supported); | |
| 76 #endif | |
| 77 private: | |
| 78 static bool integer_division_supported_; | |
| 79 static bool neon_supported_; | |
| 80 #if defined(DEBUG) | |
| 81 static bool initialized_; | |
| 82 #endif | |
| 83 }; | |
| 84 | |
| 85 | |
| 86 // Encodes Addressing Mode 1 - Data-processing operands. | 66 // Encodes Addressing Mode 1 - Data-processing operands. |
| 87 class ShifterOperand : public ValueObject { | 67 class ShifterOperand : public ValueObject { |
| 88 public: | 68 public: |
| 89 // Data-processing operands - Uninitialized. | 69 // Data-processing operands - Uninitialized. |
| 90 ShifterOperand() : type_(-1), encoding_(-1) { } | 70 ShifterOperand() : type_(-1), encoding_(-1) { } |
| 91 | 71 |
| 92 // Data-processing operands - Copy constructor. | 72 // Data-processing operands - Copy constructor. |
| 93 ShifterOperand(const ShifterOperand& other) | 73 ShifterOperand(const ShifterOperand& other) |
| 94 : ValueObject(), type_(other.type_), encoding_(other.encoding_) { } | 74 : ValueObject(), type_(other.type_), encoding_(other.encoding_) { } |
| 95 | 75 |
| (...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 900 Register value, | 880 Register value, |
| 901 Label* no_update); | 881 Label* no_update); |
| 902 | 882 |
| 903 DISALLOW_ALLOCATION(); | 883 DISALLOW_ALLOCATION(); |
| 904 DISALLOW_COPY_AND_ASSIGN(Assembler); | 884 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 905 }; | 885 }; |
| 906 | 886 |
| 907 } // namespace dart | 887 } // namespace dart |
| 908 | 888 |
| 909 #endif // VM_ASSEMBLER_ARM_H_ | 889 #endif // VM_ASSEMBLER_ARM_H_ |
| OLD | NEW |