| 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 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 | 387 |
| 388 void PopRegister(Register r) { | 388 void PopRegister(Register r) { |
| 389 Pop(r); | 389 Pop(r); |
| 390 } | 390 } |
| 391 | 391 |
| 392 void Drop(intptr_t stack_elements) { | 392 void Drop(intptr_t stack_elements) { |
| 393 add(SP, SP, Operand(stack_elements * kWordSize)); | 393 add(SP, SP, Operand(stack_elements * kWordSize)); |
| 394 } | 394 } |
| 395 | 395 |
| 396 void Bind(Label* label); | 396 void Bind(Label* label); |
| 397 void Jump(Label* label) { b(label); } |
| 397 | 398 |
| 398 // Misc. functionality | 399 // Misc. functionality |
| 399 intptr_t CodeSize() const { return buffer_.Size(); } | 400 intptr_t CodeSize() const { return buffer_.Size(); } |
| 400 intptr_t prologue_offset() const { return prologue_offset_; } | 401 intptr_t prologue_offset() const { return prologue_offset_; } |
| 401 | 402 |
| 402 // Count the fixups that produce a pointer offset, without processing | 403 // Count the fixups that produce a pointer offset, without processing |
| 403 // the fixups. On ARM64 there are no pointers in code. | 404 // the fixups. On ARM64 there are no pointers in code. |
| 404 intptr_t CountPointerOffsets() const { return 0; } | 405 intptr_t CountPointerOffsets() const { return 0; } |
| 405 | 406 |
| 406 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { | 407 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { |
| (...skipping 1300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1707 Register value, | 1708 Register value, |
| 1708 Label* no_update); | 1709 Label* no_update); |
| 1709 | 1710 |
| 1710 DISALLOW_ALLOCATION(); | 1711 DISALLOW_ALLOCATION(); |
| 1711 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1712 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1712 }; | 1713 }; |
| 1713 | 1714 |
| 1714 } // namespace dart | 1715 } // namespace dart |
| 1715 | 1716 |
| 1716 #endif // VM_ASSEMBLER_ARM64_H_ | 1717 #endif // VM_ASSEMBLER_ARM64_H_ |
| OLD | NEW |