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 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
661 // | 661 // |
662 // Note: The same Label can be used for forward and backward branches | 662 // Note: The same Label can be used for forward and backward branches |
663 // but it may be bound only once. | 663 // but it may be bound only once. |
664 | 664 |
665 void bind(Label* L); // binds an unbound label L to the current code position | 665 void bind(Label* L); // binds an unbound label L to the current code position |
666 | 666 |
667 // Calls | 667 // Calls |
668 void call(Label* L); | 668 void call(Label* L); |
669 void call(byte* entry, RelocInfo::Mode rmode); | 669 void call(byte* entry, RelocInfo::Mode rmode); |
670 void call(const Operand& adr); | 670 void call(const Operand& adr); |
| 671 void call(const ExternalReference& target); |
671 void call(Handle<Code> code, RelocInfo::Mode rmode); | 672 void call(Handle<Code> code, RelocInfo::Mode rmode); |
672 | 673 |
673 // Jumps | 674 // Jumps |
674 void jmp(Label* L); // unconditional jump to L | 675 void jmp(Label* L); // unconditional jump to L |
675 void jmp(byte* entry, RelocInfo::Mode rmode); | 676 void jmp(byte* entry, RelocInfo::Mode rmode); |
676 void jmp(const Operand& adr); | 677 void jmp(const Operand& adr); |
677 void jmp(Handle<Code> code, RelocInfo::Mode rmode); | 678 void jmp(Handle<Code> code, RelocInfo::Mode rmode); |
678 | 679 |
679 // Conditional jumps | 680 // Conditional jumps |
680 void j(Condition cc, Label* L, Hint hint = no_hint); | 681 void j(Condition cc, Label* L, Hint hint = no_hint); |
681 void j(Condition cc, byte* entry, RelocInfo::Mode rmode, Hint hint = no_hint); | 682 void j(Condition cc, byte* entry, RelocInfo::Mode rmode, Hint hint = no_hint); |
682 void j(Condition cc, Handle<Code> code, Hint hint = no_hint); | 683 void j(Condition cc, Handle<Code> code, Hint hint = no_hint); |
683 | 684 |
684 // Floating-point operations | 685 // Floating-point operations |
685 void fld(int i); | 686 void fld(int i); |
| 687 void fstp(int i); |
686 | 688 |
687 void fld1(); | 689 void fld1(); |
688 void fldz(); | 690 void fldz(); |
| 691 void fldpi(); |
689 | 692 |
690 void fld_s(const Operand& adr); | 693 void fld_s(const Operand& adr); |
691 void fld_d(const Operand& adr); | 694 void fld_d(const Operand& adr); |
692 | 695 |
693 void fstp_s(const Operand& adr); | 696 void fstp_s(const Operand& adr); |
694 void fstp_d(const Operand& adr); | 697 void fstp_d(const Operand& adr); |
| 698 void fst_d(const Operand& adr); |
695 | 699 |
696 void fild_s(const Operand& adr); | 700 void fild_s(const Operand& adr); |
697 void fild_d(const Operand& adr); | 701 void fild_d(const Operand& adr); |
698 | 702 |
699 void fist_s(const Operand& adr); | 703 void fist_s(const Operand& adr); |
700 | 704 |
701 void fistp_s(const Operand& adr); | 705 void fistp_s(const Operand& adr); |
702 void fistp_d(const Operand& adr); | 706 void fistp_d(const Operand& adr); |
703 | 707 |
704 void fisttp_s(const Operand& adr); | 708 void fisttp_s(const Operand& adr); |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
910 private: | 914 private: |
911 Assembler* assembler_; | 915 Assembler* assembler_; |
912 #ifdef DEBUG | 916 #ifdef DEBUG |
913 int space_before_; | 917 int space_before_; |
914 #endif | 918 #endif |
915 }; | 919 }; |
916 | 920 |
917 } } // namespace v8::internal | 921 } } // namespace v8::internal |
918 | 922 |
919 #endif // V8_IA32_ASSEMBLER_IA32_H_ | 923 #endif // V8_IA32_ASSEMBLER_IA32_H_ |
OLD | NEW |