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