src/cpu/x86/vm/assembler_x86.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/cpu/x86/vm/assembler_x86.hpp	Fri Mar 25 19:58:39 2011
--- new/src/cpu/x86/vm/assembler_x86.hpp	Fri Mar 25 19:58:39 2011

*** 578,588 **** --- 578,587 ---- void emit_data(jint data, relocInfo::relocType rtype, int format); void emit_data(jint data, RelocationHolder const& rspec, int format); void emit_data64(jlong data, relocInfo::relocType rtype, int format = 0); void emit_data64(jlong data, RelocationHolder const& rspec, int format = 0); bool reachable(AddressLiteral adr) NOT_LP64({ return true;}); // These are all easily abused and hence protected // 32BIT ONLY SECTION
*** 681,690 **** --- 680,691 ---- static bool is_simm(int32_t x, int nbits) { return -(1 << (nbits-1)) <= x && x < (1 << (nbits-1)); } static bool is_simm32(int32_t x) { return true; } #endif // _LP64 + static bool is_polling_page_far() NOT_LP64({ return false;}); + // Generic instructions // Does 32bit or 64bit as needed for the platform. In some sense these // belong in macro assembler but there is no need for both varieties to exist void lea(Register dst, Address src);
*** 2092,2102 **** --- 2093,2106 ---- void lea(Address dst, AddressLiteral adr); void lea(Register dst, Address adr) { Assembler::lea(dst, adr); } void leal32(Register dst, Address src) { leal(dst, src); } void test32(Register src1, AddressLiteral src2); + // Import other testl() methods from the parent class or else + // they will be hidden by the following overriding declaration. + using Assembler::testl; + void testl(Register dst, AddressLiteral src); void orptr(Register dst, Address src) { LP64_ONLY(orq(dst, src)) NOT_LP64(orl(dst, src)); } void orptr(Register dst, Register src) { LP64_ONLY(orq(dst, src)) NOT_LP64(orl(dst, src)); } void orptr(Register dst, int32_t src) { LP64_ONLY(orq(dst, src)) NOT_LP64(orl(dst, src)); }

src/cpu/x86/vm/assembler_x86.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File