OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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_X64_H_ | 5 #ifndef VM_ASSEMBLER_X64_H_ |
6 #define VM_ASSEMBLER_X64_H_ | 6 #define VM_ASSEMBLER_X64_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_x64.h directly; use assembler.h instead. | 9 #error Do not include assembler_x64.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
760 intptr_t prologue_offset() const { return prologue_offset_; } | 760 intptr_t prologue_offset() const { return prologue_offset_; } |
761 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { | 761 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { |
762 return buffer_.pointer_offsets(); | 762 return buffer_.pointer_offsets(); |
763 } | 763 } |
764 const GrowableObjectArray& object_pool() const { return object_pool_; } | 764 const GrowableObjectArray& object_pool() const { return object_pool_; } |
765 | 765 |
766 void FinalizeInstructions(const MemoryRegion& region) { | 766 void FinalizeInstructions(const MemoryRegion& region) { |
767 buffer_.FinalizeInstructions(region); | 767 buffer_.FinalizeInstructions(region); |
768 } | 768 } |
769 | 769 |
| 770 // Index of constant pool entries pointing to debugger stubs. |
| 771 static const int kBreakpointStaticCPIndex = 5; |
| 772 static const int kBreakpointDynamicCPIndex = 6; |
| 773 static const int kBreakpointRuntimeCPIndex = 7; |
| 774 |
770 void LoadPoolPointer(Register pp); | 775 void LoadPoolPointer(Register pp); |
771 | 776 |
772 // Set up a Dart frame on entry with a frame pointer and PC information to | 777 // Set up a Dart frame on entry with a frame pointer and PC information to |
773 // enable easy access to the RawInstruction object of code corresponding | 778 // enable easy access to the RawInstruction object of code corresponding |
774 // to this frame. | 779 // to this frame. |
775 // The dart frame layout is as follows: | 780 // The dart frame layout is as follows: |
776 // .... | 781 // .... |
777 // locals space <=== RSP | 782 // locals space <=== RSP |
778 // saved PP | 783 // saved PP |
779 // pc (used to derive the RawInstruction Object of the dart code) | 784 // pc (used to derive the RawInstruction Object of the dart code) |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1048 } | 1053 } |
1049 | 1054 |
1050 | 1055 |
1051 inline void Assembler::EmitOperandSizeOverride() { | 1056 inline void Assembler::EmitOperandSizeOverride() { |
1052 EmitUint8(0x66); | 1057 EmitUint8(0x66); |
1053 } | 1058 } |
1054 | 1059 |
1055 } // namespace dart | 1060 } // namespace dart |
1056 | 1061 |
1057 #endif // VM_ASSEMBLER_X64_H_ | 1062 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |