Chromium Code Reviews| 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 |