| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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_ARM64_H_ | 5 #ifndef VM_ASSEMBLER_ARM64_H_ |
| 6 #define VM_ASSEMBLER_ARM64_H_ | 6 #define VM_ASSEMBLER_ARM64_H_ |
| 7 | 7 |
| 8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
| 9 #error Do not include assembler_arm64.h directly; use assembler.h instead. | 9 #error Do not include assembler_arm64.h directly; use assembler.h instead. |
| 10 #endif | 10 #endif |
| (...skipping 1283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1294 const Address& dest, | 1294 const Address& dest, |
| 1295 const Object& value); | 1295 const Object& value); |
| 1296 void StoreIntoObjectOffsetNoBarrier(Register object, | 1296 void StoreIntoObjectOffsetNoBarrier(Register object, |
| 1297 int32_t offset, | 1297 int32_t offset, |
| 1298 const Object& value, | 1298 const Object& value, |
| 1299 Register pp); | 1299 Register pp); |
| 1300 | 1300 |
| 1301 // Object pool, loading from pool, etc. | 1301 // Object pool, loading from pool, etc. |
| 1302 void LoadPoolPointer(Register pp); | 1302 void LoadPoolPointer(Register pp); |
| 1303 | 1303 |
| 1304 bool allow_constant_pool() const { | 1304 bool constant_pool_allowed() const { |
| 1305 return allow_constant_pool_; | 1305 return constant_pool_allowed_; |
| 1306 } | 1306 } |
| 1307 void set_allow_constant_pool(bool b) { | 1307 void set_constant_pool_allowed(bool b) { |
| 1308 allow_constant_pool_ = b; | 1308 constant_pool_allowed_ = b; |
| 1309 } | 1309 } |
| 1310 | 1310 |
| 1311 void LoadWordFromPoolOffset(Register dst, Register pp, uint32_t offset); | 1311 void LoadWordFromPoolOffset(Register dst, Register pp, uint32_t offset); |
| 1312 void LoadWordFromPoolOffsetFixed(Register dst, Register pp, uint32_t offset); | 1312 void LoadWordFromPoolOffsetFixed(Register dst, Register pp, uint32_t offset); |
| 1313 intptr_t FindImmediate(int64_t imm); | 1313 intptr_t FindImmediate(int64_t imm); |
| 1314 bool CanLoadFromObjectPool(const Object& object) const; | 1314 bool CanLoadFromObjectPool(const Object& object) const; |
| 1315 bool CanLoadImmediateFromPool(int64_t imm, Register pp); | 1315 bool CanLoadImmediateFromPool(int64_t imm, Register pp); |
| 1316 void LoadExternalLabel(Register dst, const ExternalLabel* label, | 1316 void LoadExternalLabel(Register dst, const ExternalLabel* label, |
| 1317 Patchability patchable, Register pp); | 1317 Patchability patchable, Register pp); |
| 1318 void LoadExternalLabelFixed(Register dst, | 1318 void LoadExternalLabelFixed(Register dst, |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1445 | 1445 |
| 1446 private: | 1446 private: |
| 1447 intptr_t pc_offset_; | 1447 intptr_t pc_offset_; |
| 1448 const String& comment_; | 1448 const String& comment_; |
| 1449 | 1449 |
| 1450 DISALLOW_COPY_AND_ASSIGN(CodeComment); | 1450 DISALLOW_COPY_AND_ASSIGN(CodeComment); |
| 1451 }; | 1451 }; |
| 1452 | 1452 |
| 1453 GrowableArray<CodeComment*> comments_; | 1453 GrowableArray<CodeComment*> comments_; |
| 1454 | 1454 |
| 1455 bool allow_constant_pool_; | 1455 bool constant_pool_allowed_; |
| 1456 | 1456 |
| 1457 void LoadObjectHelper(Register dst, | 1457 void LoadObjectHelper(Register dst, |
| 1458 const Object& obj, | 1458 const Object& obj, |
| 1459 Register pp, | 1459 Register pp, |
| 1460 bool is_unique); | 1460 bool is_unique); |
| 1461 | 1461 |
| 1462 void AddSubHelper(OperandSize os, bool set_flags, bool subtract, | 1462 void AddSubHelper(OperandSize os, bool set_flags, bool subtract, |
| 1463 Register rd, Register rn, Operand o) { | 1463 Register rd, Register rn, Operand o) { |
| 1464 ASSERT((rd != R31) && (rn != R31)); | 1464 ASSERT((rd != R31) && (rn != R31)); |
| 1465 const Register crd = ConcreteRegister(rd); | 1465 const Register crd = ConcreteRegister(rd); |
| (...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1951 Register value, | 1951 Register value, |
| 1952 Label* no_update); | 1952 Label* no_update); |
| 1953 | 1953 |
| 1954 DISALLOW_ALLOCATION(); | 1954 DISALLOW_ALLOCATION(); |
| 1955 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1955 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1956 }; | 1956 }; |
| 1957 | 1957 |
| 1958 } // namespace dart | 1958 } // namespace dart |
| 1959 | 1959 |
| 1960 #endif // VM_ASSEMBLER_ARM64_H_ | 1960 #endif // VM_ASSEMBLER_ARM64_H_ |
| OLD | NEW |