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 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
677 void ffree(intptr_t value); | 677 void ffree(intptr_t value); |
678 | 678 |
679 void fsin(); | 679 void fsin(); |
680 void fcos(); | 680 void fcos(); |
681 | 681 |
682 // 'size' indicates size in bytes and must be in the range 1..8. | 682 // 'size' indicates size in bytes and must be in the range 1..8. |
683 void nop(int size = 1); | 683 void nop(int size = 1); |
684 void int3(); | 684 void int3(); |
685 void hlt(); | 685 void hlt(); |
686 | 686 |
| 687 static uword GetBreakInstructionFiller() { |
| 688 return 0xCCCCCCCCCCCCCCCC; |
| 689 } |
| 690 |
687 // Note: verified_mem mode forces far jumps. | 691 // Note: verified_mem mode forces far jumps. |
688 void j(Condition condition, Label* label, bool near = kFarJump); | 692 void j(Condition condition, Label* label, bool near = kFarJump); |
689 | 693 |
690 void jmp(Register reg); | 694 void jmp(Register reg); |
691 void jmp(const Address& address); | 695 void jmp(const Address& address); |
692 // Note: verified_mem mode forces far jumps. | 696 // Note: verified_mem mode forces far jumps. |
693 void jmp(Label* label, bool near = kFarJump); | 697 void jmp(Label* label, bool near = kFarJump); |
694 void jmp(const ExternalLabel* label); | 698 void jmp(const ExternalLabel* label); |
695 void jmp(const StubEntry& stub_entry); | 699 void jmp(const StubEntry& stub_entry); |
696 | 700 |
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1194 } | 1198 } |
1195 | 1199 |
1196 | 1200 |
1197 inline void Assembler::EmitOperandSizeOverride() { | 1201 inline void Assembler::EmitOperandSizeOverride() { |
1198 EmitUint8(0x66); | 1202 EmitUint8(0x66); |
1199 } | 1203 } |
1200 | 1204 |
1201 } // namespace dart | 1205 } // namespace dart |
1202 | 1206 |
1203 #endif // VM_ASSEMBLER_X64_H_ | 1207 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |