| 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 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 | 469 |
| 470 // Count the fixups that produce a pointer offset, without processing | 470 // Count the fixups that produce a pointer offset, without processing |
| 471 // the fixups. On ARM64 there are no pointers in code. | 471 // the fixups. On ARM64 there are no pointers in code. |
| 472 intptr_t CountPointerOffsets() const { return 0; } | 472 intptr_t CountPointerOffsets() const { return 0; } |
| 473 | 473 |
| 474 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { | 474 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { |
| 475 ASSERT(buffer_.pointer_offsets().length() == 0); // No pointers in code. | 475 ASSERT(buffer_.pointer_offsets().length() == 0); // No pointers in code. |
| 476 return buffer_.pointer_offsets(); | 476 return buffer_.pointer_offsets(); |
| 477 } | 477 } |
| 478 | 478 |
| 479 const GrowableObjectArray& object_pool_data() const { | 479 ObjectPoolHelper& object_pool() { return object_pool_; } |
| 480 return object_pool_.data(); | |
| 481 } | |
| 482 | 480 |
| 483 ObjectPool& object_pool() { return object_pool_; } | 481 RawObjectPool* MakeObjectPool() { return object_pool_.MakeObjectPool(); } |
| 484 | 482 |
| 485 bool use_far_branches() const { | 483 bool use_far_branches() const { |
| 486 return FLAG_use_far_branches || use_far_branches_; | 484 return FLAG_use_far_branches || use_far_branches_; |
| 487 } | 485 } |
| 488 | 486 |
| 489 void set_use_far_branches(bool b) { | 487 void set_use_far_branches(bool b) { |
| 490 ASSERT(buffer_.Size() == 0); | 488 ASSERT(buffer_.Size() == 0); |
| 491 use_far_branches_ = b; | 489 use_far_branches_ = b; |
| 492 } | 490 } |
| 493 | 491 |
| (...skipping 917 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1411 Address ElementAddressForRegIndex(bool is_load, | 1409 Address ElementAddressForRegIndex(bool is_load, |
| 1412 bool is_external, | 1410 bool is_external, |
| 1413 intptr_t cid, | 1411 intptr_t cid, |
| 1414 intptr_t index_scale, | 1412 intptr_t index_scale, |
| 1415 Register array, | 1413 Register array, |
| 1416 Register index); | 1414 Register index); |
| 1417 | 1415 |
| 1418 private: | 1416 private: |
| 1419 AssemblerBuffer buffer_; // Contains position independent code. | 1417 AssemblerBuffer buffer_; // Contains position independent code. |
| 1420 | 1418 |
| 1421 // Objects and patchable jump targets. | 1419 ObjectPoolHelper object_pool_; |
| 1422 ObjectPool object_pool_; | |
| 1423 | 1420 |
| 1424 int32_t prologue_offset_; | 1421 int32_t prologue_offset_; |
| 1425 | 1422 |
| 1426 bool use_far_branches_; | 1423 bool use_far_branches_; |
| 1427 | 1424 |
| 1428 class CodeComment : public ZoneAllocated { | 1425 class CodeComment : public ZoneAllocated { |
| 1429 public: | 1426 public: |
| 1430 CodeComment(intptr_t pc_offset, const String& comment) | 1427 CodeComment(intptr_t pc_offset, const String& comment) |
| 1431 : pc_offset_(pc_offset), comment_(comment) { } | 1428 : pc_offset_(pc_offset), comment_(comment) { } |
| 1432 | 1429 |
| (...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1936 Register value, | 1933 Register value, |
| 1937 Label* no_update); | 1934 Label* no_update); |
| 1938 | 1935 |
| 1939 DISALLOW_ALLOCATION(); | 1936 DISALLOW_ALLOCATION(); |
| 1940 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1937 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1941 }; | 1938 }; |
| 1942 | 1939 |
| 1943 } // namespace dart | 1940 } // namespace dart |
| 1944 | 1941 |
| 1945 #endif // VM_ASSEMBLER_ARM64_H_ | 1942 #endif // VM_ASSEMBLER_ARM64_H_ |
| OLD | NEW |