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 771 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
782 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { | 782 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { |
783 return buffer_.pointer_offsets(); | 783 return buffer_.pointer_offsets(); |
784 } | 784 } |
785 const GrowableObjectArray& object_pool() const { return object_pool_; } | 785 const GrowableObjectArray& object_pool() const { return object_pool_; } |
786 | 786 |
787 void FinalizeInstructions(const MemoryRegion& region) { | 787 void FinalizeInstructions(const MemoryRegion& region) { |
788 buffer_.FinalizeInstructions(region); | 788 buffer_.FinalizeInstructions(region); |
789 } | 789 } |
790 | 790 |
791 // Index of constant pool entries pointing to debugger stubs. | 791 // Index of constant pool entries pointing to debugger stubs. |
792 static const int kBreakpointRuntimeCPIndex = 5; | 792 static const int kICCallBreakpointCPIndex = 5; |
| 793 static const int kClosureCallBreakpointCPIndex = 6; |
| 794 static const int kRuntimeCallBreakpointCPIndex = 7; |
793 | 795 |
794 void LoadPoolPointer(Register pp); | 796 void LoadPoolPointer(Register pp); |
795 | 797 |
796 // Set up a Dart frame on entry with a frame pointer and PC information to | 798 // Set up a Dart frame on entry with a frame pointer and PC information to |
797 // enable easy access to the RawInstruction object of code corresponding | 799 // enable easy access to the RawInstruction object of code corresponding |
798 // to this frame. | 800 // to this frame. |
799 // The dart frame layout is as follows: | 801 // The dart frame layout is as follows: |
800 // .... | 802 // .... |
801 // locals space <=== RSP | 803 // locals space <=== RSP |
802 // saved PP | 804 // saved PP |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1080 } | 1082 } |
1081 | 1083 |
1082 | 1084 |
1083 inline void Assembler::EmitOperandSizeOverride() { | 1085 inline void Assembler::EmitOperandSizeOverride() { |
1084 EmitUint8(0x66); | 1086 EmitUint8(0x66); |
1085 } | 1087 } |
1086 | 1088 |
1087 } // namespace dart | 1089 } // namespace dart |
1088 | 1090 |
1089 #endif // VM_ASSEMBLER_X64_H_ | 1091 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |