| 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 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 445 } | 445 } |
| 446 } | 446 } |
| 447 | 447 |
| 448 void ReserveAlignedFrameSpace(intptr_t frame_space); | 448 void ReserveAlignedFrameSpace(intptr_t frame_space); |
| 449 | 449 |
| 450 // TODO(zra): Make sure this is right. | 450 // TODO(zra): Make sure this is right. |
| 451 // Instruction pattern from entrypoint is used in Dart frame prologs | 451 // Instruction pattern from entrypoint is used in Dart frame prologs |
| 452 // to set up the frame and save a PC which can be used to figure out the | 452 // to set up the frame and save a PC which can be used to figure out the |
| 453 // RawInstruction object corresponding to the code running in the frame. | 453 // RawInstruction object corresponding to the code running in the frame. |
| 454 static const intptr_t kEntryPointToPcMarkerOffset = 0; | 454 static const intptr_t kEntryPointToPcMarkerOffset = 0; |
| 455 static intptr_t EntryPointToPcMarkerOffset() { |
| 456 return kEntryPointToPcMarkerOffset; |
| 457 } |
| 455 | 458 |
| 456 // Emit data (e.g encoded instruction or immediate) in instruction stream. | 459 // Emit data (e.g encoded instruction or immediate) in instruction stream. |
| 457 void Emit(int32_t value); | 460 void Emit(int32_t value); |
| 458 | 461 |
| 459 // On some other platforms, we draw a distinction between safe and unsafe | 462 // On some other platforms, we draw a distinction between safe and unsafe |
| 460 // smis. | 463 // smis. |
| 461 static bool IsSafe(const Object& object) { return true; } | 464 static bool IsSafe(const Object& object) { return true; } |
| 462 static bool IsSafeSmi(const Object& object) { return object.IsSmi(); } | 465 static bool IsSafeSmi(const Object& object) { return object.IsSmi(); } |
| 463 | 466 |
| 464 // Addition and subtraction. | 467 // Addition and subtraction. |
| (...skipping 1230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1695 Register value, | 1698 Register value, |
| 1696 Label* no_update); | 1699 Label* no_update); |
| 1697 | 1700 |
| 1698 DISALLOW_ALLOCATION(); | 1701 DISALLOW_ALLOCATION(); |
| 1699 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1702 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1700 }; | 1703 }; |
| 1701 | 1704 |
| 1702 } // namespace dart | 1705 } // namespace dart |
| 1703 | 1706 |
| 1704 #endif // VM_ASSEMBLER_ARM64_H_ | 1707 #endif // VM_ASSEMBLER_ARM64_H_ |
| OLD | NEW |