< prev index next >

src/hotspot/cpu/x86/macroAssembler_x86.hpp

Print this page




 843   void lea(Register dst, AddressLiteral adr);
 844   void lea(Address dst, AddressLiteral adr);
 845   void lea(Register dst, Address adr) { Assembler::lea(dst, adr); }
 846 
 847   void leal32(Register dst, Address src) { leal(dst, src); }
 848 
 849   // Import other testl() methods from the parent class or else
 850   // they will be hidden by the following overriding declaration.
 851   using Assembler::testl;
 852   void testl(Register dst, AddressLiteral src);
 853   using Assembler::testq;
 854   void testq(Register dst, AddressLiteral src);
 855 
 856   void orptr(Register dst, Address src) { LP64_ONLY(orq(dst, src)) NOT_LP64(orl(dst, src)); }
 857   void orptr(Register dst, Register src) { LP64_ONLY(orq(dst, src)) NOT_LP64(orl(dst, src)); }
 858   void orptr(Register dst, int32_t src) { LP64_ONLY(orq(dst, src)) NOT_LP64(orl(dst, src)); }
 859   void orptr(Address dst, int32_t imm32) { LP64_ONLY(orq(dst, imm32)) NOT_LP64(orl(dst, imm32)); }
 860 
 861   void testptr(Register src, int32_t imm32) { LP64_ONLY(testq(src, imm32)) NOT_LP64(testl(src, imm32)); }
 862   void testptr(Register src1, Address src2) { LP64_ONLY(testq(src1, src2)) NOT_LP64(testl(src1, src2)); }
 863   void testptr(Register src1, AddressLiteral src2) { testptr(src1, as_Address(src2)); }
 864   void testptr(Register src1, Register src2);
 865 
 866   void xorptr(Register dst, Register src) { LP64_ONLY(xorq(dst, src)) NOT_LP64(xorl(dst, src)); }
 867   void xorptr(Register dst, Address src) { LP64_ONLY(xorq(dst, src)) NOT_LP64(xorl(dst, src)); }
 868 
 869   // Calls
 870 
 871   void call(Label& L, relocInfo::relocType rtype);
 872   void call(Register entry);
 873 
 874   // NOTE: this call transfers to the effective address of entry NOT
 875   // the address contained by entry. This is because this is more natural
 876   // for jumps/calls.
 877   void call(AddressLiteral entry);
 878 
 879   // Emit the CompiledIC call idiom
 880   void ic_call(address entry, jint method_index = 0);
 881 
 882   // Jumps
 883 




 843   void lea(Register dst, AddressLiteral adr);
 844   void lea(Address dst, AddressLiteral adr);
 845   void lea(Register dst, Address adr) { Assembler::lea(dst, adr); }
 846 
 847   void leal32(Register dst, Address src) { leal(dst, src); }
 848 
 849   // Import other testl() methods from the parent class or else
 850   // they will be hidden by the following overriding declaration.
 851   using Assembler::testl;
 852   void testl(Register dst, AddressLiteral src);
 853   using Assembler::testq;
 854   void testq(Register dst, AddressLiteral src);
 855 
 856   void orptr(Register dst, Address src) { LP64_ONLY(orq(dst, src)) NOT_LP64(orl(dst, src)); }
 857   void orptr(Register dst, Register src) { LP64_ONLY(orq(dst, src)) NOT_LP64(orl(dst, src)); }
 858   void orptr(Register dst, int32_t src) { LP64_ONLY(orq(dst, src)) NOT_LP64(orl(dst, src)); }
 859   void orptr(Address dst, int32_t imm32) { LP64_ONLY(orq(dst, imm32)) NOT_LP64(orl(dst, imm32)); }
 860 
 861   void testptr(Register src, int32_t imm32) { LP64_ONLY(testq(src, imm32)) NOT_LP64(testl(src, imm32)); }
 862   void testptr(Register src1, Address src2) { LP64_ONLY(testq(src1, src2)) NOT_LP64(testl(src1, src2)); }

 863   void testptr(Register src1, Register src2);
 864 
 865   void xorptr(Register dst, Register src) { LP64_ONLY(xorq(dst, src)) NOT_LP64(xorl(dst, src)); }
 866   void xorptr(Register dst, Address src) { LP64_ONLY(xorq(dst, src)) NOT_LP64(xorl(dst, src)); }
 867 
 868   // Calls
 869 
 870   void call(Label& L, relocInfo::relocType rtype);
 871   void call(Register entry);
 872 
 873   // NOTE: this call transfers to the effective address of entry NOT
 874   // the address contained by entry. This is because this is more natural
 875   // for jumps/calls.
 876   void call(AddressLiteral entry);
 877 
 878   // Emit the CompiledIC call idiom
 879   void ic_call(address entry, jint method_index = 0);
 880 
 881   // Jumps
 882 


< prev index next >