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