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 |