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 889 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
900 const GrowableObjectArray& object_pool_data() const { | 900 const GrowableObjectArray& object_pool_data() const { |
901 return object_pool_.data(); | 901 return object_pool_.data(); |
902 } | 902 } |
903 | 903 |
904 ObjectPool& object_pool() { return object_pool_; } | 904 ObjectPool& object_pool() { return object_pool_; } |
905 | 905 |
906 void FinalizeInstructions(const MemoryRegion& region) { | 906 void FinalizeInstructions(const MemoryRegion& region) { |
907 buffer_.FinalizeInstructions(region); | 907 buffer_.FinalizeInstructions(region); |
908 } | 908 } |
909 | 909 |
910 // Index of constant pool entries pointing to debugger stubs. | |
911 static const int kICCallBreakpointCPIndex = 5; | |
912 static const int kClosureCallBreakpointCPIndex = 6; | |
913 static const int kRuntimeCallBreakpointCPIndex = 7; | |
914 | |
915 void LoadPoolPointer(Register pp); | 910 void LoadPoolPointer(Register pp); |
916 | 911 |
917 // Set up a Dart frame on entry with a frame pointer and PC information to | 912 // Set up a Dart frame on entry with a frame pointer and PC information to |
918 // enable easy access to the RawInstruction object of code corresponding | 913 // enable easy access to the RawInstruction object of code corresponding |
919 // to this frame. | 914 // to this frame. |
920 // The dart frame layout is as follows: | 915 // The dart frame layout is as follows: |
921 // .... | 916 // .... |
922 // locals space <=== RSP | 917 // locals space <=== RSP |
923 // saved PP | 918 // saved PP |
924 // pc (used to derive the RawInstruction Object of the dart code) | 919 // pc (used to derive the RawInstruction Object of the dart code) |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1195 } | 1190 } |
1196 | 1191 |
1197 | 1192 |
1198 inline void Assembler::EmitOperandSizeOverride() { | 1193 inline void Assembler::EmitOperandSizeOverride() { |
1199 EmitUint8(0x66); | 1194 EmitUint8(0x66); |
1200 } | 1195 } |
1201 | 1196 |
1202 } // namespace dart | 1197 } // namespace dart |
1203 | 1198 |
1204 #endif // VM_ASSEMBLER_X64_H_ | 1199 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |