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_IA32_H_ | 5 #ifndef VM_ASSEMBLER_IA32_H_ |
6 #define VM_ASSEMBLER_IA32_H_ | 6 #define VM_ASSEMBLER_IA32_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_ia32.h directly; use assembler.h instead. | 9 #error Do not include assembler_ia32.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 void testl(Register reg1, Register reg2); | 537 void testl(Register reg1, Register reg2); |
538 void testl(Register reg, const Immediate& imm); | 538 void testl(Register reg, const Immediate& imm); |
539 | 539 |
540 void andl(Register dst, const Immediate& imm); | 540 void andl(Register dst, const Immediate& imm); |
541 void andl(Register dst, Register src); | 541 void andl(Register dst, Register src); |
542 void andl(Register dst, const Address& address); | 542 void andl(Register dst, const Address& address); |
543 | 543 |
544 void orl(Register dst, const Immediate& imm); | 544 void orl(Register dst, const Immediate& imm); |
545 void orl(Register dst, Register src); | 545 void orl(Register dst, Register src); |
546 void orl(Register dst, const Address& address); | 546 void orl(Register dst, const Address& address); |
| 547 void orl(const Address& address, Register dst); |
547 | 548 |
548 void xorl(Register dst, const Immediate& imm); | 549 void xorl(Register dst, const Immediate& imm); |
549 void xorl(Register dst, Register src); | 550 void xorl(Register dst, Register src); |
550 void xorl(Register dst, const Address& address); | 551 void xorl(Register dst, const Address& address); |
551 | 552 |
552 void addl(Register dst, Register src); | 553 void addl(Register dst, Register src); |
553 void addl(Register reg, const Immediate& imm); | 554 void addl(Register reg, const Immediate& imm); |
554 void addl(Register reg, const Address& address); | 555 void addl(Register reg, const Address& address); |
555 | 556 |
556 void addl(const Address& address, Register reg); | 557 void addl(const Address& address, Register reg); |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
719 void CompareClassId(Register object, intptr_t class_id, Register scratch); | 720 void CompareClassId(Register object, intptr_t class_id, Register scratch); |
720 | 721 |
721 void LoadTaggedClassIdMayBeSmi(Register result, | 722 void LoadTaggedClassIdMayBeSmi(Register result, |
722 Register object); | 723 Register object); |
723 | 724 |
724 void SmiUntagOrCheckClass(Register object, | 725 void SmiUntagOrCheckClass(Register object, |
725 intptr_t class_id, | 726 intptr_t class_id, |
726 Register scratch, | 727 Register scratch, |
727 Label* is_smi); | 728 Label* is_smi); |
728 | 729 |
| 730 void ComputeRange(Register result, |
| 731 Register value, |
| 732 Register lo_temp, |
| 733 Register hi_temp, |
| 734 Label* miss); |
| 735 |
| 736 void UpdateRangeFeedback(Register value, |
| 737 intptr_t index, |
| 738 Register ic_data, |
| 739 Register scratch1, |
| 740 Register scratch2, |
| 741 Register scratch3, |
| 742 Label* miss); |
| 743 |
729 static Address ElementAddressForIntIndex(bool is_external, | 744 static Address ElementAddressForIntIndex(bool is_external, |
730 intptr_t cid, | 745 intptr_t cid, |
731 intptr_t index_scale, | 746 intptr_t index_scale, |
732 Register array, | 747 Register array, |
733 intptr_t index); | 748 intptr_t index); |
734 | 749 |
735 static Address ElementAddressForRegIndex(bool is_external, | 750 static Address ElementAddressForRegIndex(bool is_external, |
736 intptr_t cid, | 751 intptr_t cid, |
737 intptr_t index_scale, | 752 intptr_t index_scale, |
738 Register array, | 753 Register array, |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
976 } | 991 } |
977 | 992 |
978 | 993 |
979 inline void Assembler::EmitOperandSizeOverride() { | 994 inline void Assembler::EmitOperandSizeOverride() { |
980 EmitUint8(0x66); | 995 EmitUint8(0x66); |
981 } | 996 } |
982 | 997 |
983 } // namespace dart | 998 } // namespace dart |
984 | 999 |
985 #endif // VM_ASSEMBLER_IA32_H_ | 1000 #endif // VM_ASSEMBLER_IA32_H_ |
OLD | NEW |