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 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
519 | 519 |
520 void testq(Register reg1, Register reg2); | 520 void testq(Register reg1, Register reg2); |
521 void testq(Register reg, const Immediate& imm); | 521 void testq(Register reg, const Immediate& imm); |
522 void TestImmediate(Register dst, const Immediate& imm, Register pp); | 522 void TestImmediate(Register dst, const Immediate& imm, Register pp); |
523 | 523 |
524 void andl(Register dst, Register src); | 524 void andl(Register dst, Register src); |
525 void andl(Register dst, const Immediate& imm); | 525 void andl(Register dst, const Immediate& imm); |
526 | 526 |
527 void orl(Register dst, Register src); | 527 void orl(Register dst, Register src); |
528 void orl(Register dst, const Immediate& imm); | 528 void orl(Register dst, const Immediate& imm); |
529 void orl(const Address& dst, Register src); | |
529 | 530 |
530 void xorl(Register dst, Register src); | 531 void xorl(Register dst, Register src); |
531 | 532 |
533 | |
Florian Schneider
2014/12/12 12:12:40
Remove extra \n.
Vyacheslav Egorov (Google)
2014/12/12 14:49:14
Done.
| |
532 void andq(Register dst, Register src); | 534 void andq(Register dst, Register src); |
533 void andq(Register dst, const Address& address); | 535 void andq(Register dst, const Address& address); |
534 void andq(Register dst, const Immediate& imm); | 536 void andq(Register dst, const Immediate& imm); |
535 void AndImmediate(Register dst, const Immediate& imm, Register pp); | 537 void AndImmediate(Register dst, const Immediate& imm, Register pp); |
536 | 538 |
537 void orq(Register dst, Register src); | 539 void orq(Register dst, Register src); |
538 void orq(Register dst, const Address& address); | 540 void orq(Register dst, const Address& address); |
539 void orq(Register dst, const Immediate& imm); | 541 void orq(Register dst, const Immediate& imm); |
540 void OrImmediate(Register dst, const Immediate& imm, Register pp); | 542 void OrImmediate(Register dst, const Immediate& imm, Register pp); |
541 | 543 |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
822 * Misc. functionality. | 824 * Misc. functionality. |
823 */ | 825 */ |
824 void SmiTag(Register reg) { | 826 void SmiTag(Register reg) { |
825 addq(reg, reg); | 827 addq(reg, reg); |
826 } | 828 } |
827 | 829 |
828 void SmiUntag(Register reg) { | 830 void SmiUntag(Register reg) { |
829 sarq(reg, Immediate(kSmiTagSize)); | 831 sarq(reg, Immediate(kSmiTagSize)); |
830 } | 832 } |
831 | 833 |
834 void ComputeRange(Register result, Register value, Label* miss); | |
835 void UpdateRangeFeedback(Register value, | |
836 intptr_t index, | |
837 Register ic_data, | |
838 Register scratch, | |
839 Label* miss); | |
840 | |
832 int PreferredLoopAlignment() { return 16; } | 841 int PreferredLoopAlignment() { return 16; } |
833 void Align(int alignment, intptr_t offset); | 842 void Align(int alignment, intptr_t offset); |
834 void Bind(Label* label); | 843 void Bind(Label* label); |
835 void Jump(Label* label) { jmp(label); } | 844 void Jump(Label* label) { jmp(label); } |
836 | 845 |
837 void Comment(const char* format, ...) PRINTF_ATTRIBUTE(2, 3); | 846 void Comment(const char* format, ...) PRINTF_ATTRIBUTE(2, 3); |
838 static bool EmittingComments(); | 847 static bool EmittingComments(); |
839 | 848 |
840 const Code::Comments& GetCodeComments() const; | 849 const Code::Comments& GetCodeComments() const; |
841 | 850 |
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1186 } | 1195 } |
1187 | 1196 |
1188 | 1197 |
1189 inline void Assembler::EmitOperandSizeOverride() { | 1198 inline void Assembler::EmitOperandSizeOverride() { |
1190 EmitUint8(0x66); | 1199 EmitUint8(0x66); |
1191 } | 1200 } |
1192 | 1201 |
1193 } // namespace dart | 1202 } // namespace dart |
1194 | 1203 |
1195 #endif // VM_ASSEMBLER_X64_H_ | 1204 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |