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 745 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
756 constant_pool_allowed_ = b; | 756 constant_pool_allowed_ = b; |
757 } | 757 } |
758 | 758 |
759 void LoadImmediate(Register reg, const Immediate& imm); | 759 void LoadImmediate(Register reg, const Immediate& imm); |
760 void LoadIsolate(Register dst); | 760 void LoadIsolate(Register dst); |
761 void LoadObject(Register dst, const Object& obj); | 761 void LoadObject(Register dst, const Object& obj); |
762 void LoadUniqueObject(Register dst, const Object& obj); | 762 void LoadUniqueObject(Register dst, const Object& obj); |
763 void LoadExternalLabel(Register dst, | 763 void LoadExternalLabel(Register dst, |
764 const ExternalLabel* label, | 764 const ExternalLabel* label, |
765 Patchability patchable); | 765 Patchability patchable); |
| 766 void LoadNativeEntry(Register dst, |
| 767 const ExternalLabel* label, |
| 768 Patchability patchable); |
766 void LoadFunctionFromCalleePool(Register dst, | 769 void LoadFunctionFromCalleePool(Register dst, |
767 const Function& function, | 770 const Function& function, |
768 Register new_pp); | 771 Register new_pp); |
769 void JmpPatchable(const StubEntry& stub_entry, Register pp); | 772 void JmpPatchable(const StubEntry& stub_entry, Register pp); |
770 void Jmp(const StubEntry& stub_entry, Register pp); | 773 void Jmp(const StubEntry& stub_entry, Register pp); |
771 void J(Condition condition, const StubEntry& stub_entry, Register pp); | 774 void J(Condition condition, const StubEntry& stub_entry, Register pp); |
772 void CallPatchable(const StubEntry& stub_entry); | 775 void CallPatchable(const StubEntry& stub_entry); |
773 void Call(const StubEntry& stub_entry); | 776 void Call(const StubEntry& stub_entry); |
774 // Unaware of write barrier (use StoreInto* methods for storing to objects). | 777 // Unaware of write barrier (use StoreInto* methods for storing to objects). |
775 // TODO(koda): Add StackAddress/HeapAddress types to prevent misuse. | 778 // TODO(koda): Add StackAddress/HeapAddress types to prevent misuse. |
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1207 } | 1210 } |
1208 | 1211 |
1209 | 1212 |
1210 inline void Assembler::EmitOperandSizeOverride() { | 1213 inline void Assembler::EmitOperandSizeOverride() { |
1211 EmitUint8(0x66); | 1214 EmitUint8(0x66); |
1212 } | 1215 } |
1213 | 1216 |
1214 } // namespace dart | 1217 } // namespace dart |
1215 | 1218 |
1216 #endif // VM_ASSEMBLER_X64_H_ | 1219 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |