| OLD | NEW |
| 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
| 2 // All Rights Reserved. | 2 // All Rights Reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
| 6 // met: | 6 // met: |
| 7 // | 7 // |
| 8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
| 9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
| 10 // | 10 // |
| (...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 533 | 533 |
| 534 void movzx_b(Register dst, const Operand& src); | 534 void movzx_b(Register dst, const Operand& src); |
| 535 | 535 |
| 536 void movzx_w(Register dst, const Operand& src); | 536 void movzx_w(Register dst, const Operand& src); |
| 537 | 537 |
| 538 // Conditional moves | 538 // Conditional moves |
| 539 void cmov(Condition cc, Register dst, int32_t imm32); | 539 void cmov(Condition cc, Register dst, int32_t imm32); |
| 540 void cmov(Condition cc, Register dst, Handle<Object> handle); | 540 void cmov(Condition cc, Register dst, Handle<Object> handle); |
| 541 void cmov(Condition cc, Register dst, const Operand& src); | 541 void cmov(Condition cc, Register dst, const Operand& src); |
| 542 | 542 |
| 543 // Repetitive moves. | 543 // Repetitive string instructions. |
| 544 void rep_movs(); | 544 void rep_movs(); |
| 545 | 545 |
| 546 // Exchange two registers | 546 // Exchange two registers |
| 547 void xchg(Register dst, Register src); | 547 void xchg(Register dst, Register src); |
| 548 | 548 |
| 549 // Arithmetics | 549 // Arithmetics |
| 550 void adc(Register dst, int32_t imm32); | 550 void adc(Register dst, int32_t imm32); |
| 551 void adc(Register dst, const Operand& src); | 551 void adc(Register dst, const Operand& src); |
| 552 | 552 |
| 553 void add(Register dst, const Operand& src); | 553 void add(Register dst, const Operand& src); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 610 | 610 |
| 611 void shl(Register dst, uint8_t imm8); | 611 void shl(Register dst, uint8_t imm8); |
| 612 void shl_cl(Register dst); | 612 void shl_cl(Register dst); |
| 613 | 613 |
| 614 void shrd(Register dst, const Operand& src); | 614 void shrd(Register dst, const Operand& src); |
| 615 | 615 |
| 616 void shr(Register dst, uint8_t imm8); | 616 void shr(Register dst, uint8_t imm8); |
| 617 void shr_cl(Register dst); | 617 void shr_cl(Register dst); |
| 618 | 618 |
| 619 void subb(const Operand& dst, int8_t imm8); | 619 void subb(const Operand& dst, int8_t imm8); |
| 620 void subb(Register dst, const Operand& src); |
| 620 void sub(const Operand& dst, const Immediate& x); | 621 void sub(const Operand& dst, const Immediate& x); |
| 621 void sub(Register dst, const Operand& src); | 622 void sub(Register dst, const Operand& src); |
| 622 void sub(const Operand& dst, Register src); | 623 void sub(const Operand& dst, Register src); |
| 623 | 624 |
| 624 void test(Register reg, const Immediate& imm); | 625 void test(Register reg, const Immediate& imm); |
| 625 void test(Register reg, const Operand& op); | 626 void test(Register reg, const Operand& op); |
| 626 void test(const Operand& op, const Immediate& imm); | 627 void test(const Operand& op, const Immediate& imm); |
| 627 | 628 |
| 628 void xor_(Register dst, int32_t imm32); | 629 void xor_(Register dst, int32_t imm32); |
| 629 void xor_(Register dst, const Operand& src); | 630 void xor_(Register dst, const Operand& src); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 void jmp(Label* L); // unconditional jump to L | 669 void jmp(Label* L); // unconditional jump to L |
| 669 void jmp(byte* entry, RelocInfo::Mode rmode); | 670 void jmp(byte* entry, RelocInfo::Mode rmode); |
| 670 void jmp(const Operand& adr); | 671 void jmp(const Operand& adr); |
| 671 void jmp(Handle<Code> code, RelocInfo::Mode rmode); | 672 void jmp(Handle<Code> code, RelocInfo::Mode rmode); |
| 672 | 673 |
| 673 // Conditional jumps | 674 // Conditional jumps |
| 674 void j(Condition cc, Label* L, Hint hint = no_hint); | 675 void j(Condition cc, Label* L, Hint hint = no_hint); |
| 675 void j(Condition cc, byte* entry, RelocInfo::Mode rmode, Hint hint = no_hint); | 676 void j(Condition cc, byte* entry, RelocInfo::Mode rmode, Hint hint = no_hint); |
| 676 void j(Condition cc, Handle<Code> code, Hint hint = no_hint); | 677 void j(Condition cc, Handle<Code> code, Hint hint = no_hint); |
| 677 | 678 |
| 679 // Loop instruction using ecx as counter. |
| 680 void loope(Label* L); |
| 681 |
| 678 // Floating-point operations | 682 // Floating-point operations |
| 679 void fld(int i); | 683 void fld(int i); |
| 680 | 684 |
| 681 void fld1(); | 685 void fld1(); |
| 682 void fldz(); | 686 void fldz(); |
| 683 | 687 |
| 684 void fld_s(const Operand& adr); | 688 void fld_s(const Operand& adr); |
| 685 void fld_d(const Operand& adr); | 689 void fld_d(const Operand& adr); |
| 686 | 690 |
| 687 void fstp_s(const Operand& adr); | 691 void fstp_s(const Operand& adr); |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 904 private: | 908 private: |
| 905 Assembler* assembler_; | 909 Assembler* assembler_; |
| 906 #ifdef DEBUG | 910 #ifdef DEBUG |
| 907 int space_before_; | 911 int space_before_; |
| 908 #endif | 912 #endif |
| 909 }; | 913 }; |
| 910 | 914 |
| 911 } } // namespace v8::internal | 915 } } // namespace v8::internal |
| 912 | 916 |
| 913 #endif // V8_IA32_ASSEMBLER_IA32_H_ | 917 #endif // V8_IA32_ASSEMBLER_IA32_H_ |
| OLD | NEW |