< prev index next >

src/cpu/sparc/vm/macroAssembler_sparc.cpp

Print this page

        

*** 649,661 **** void MacroAssembler::internal_sethi(const AddressLiteral& addrlit, Register d, bool ForceRelocatable) { address save_pc; int shiftcnt; ! # ifdef CHECK_DELAY ! assert_not_delayed((char*) "cannot put two instructions in delay slot"); ! # endif v9_dep(); save_pc = pc(); int msb32 = (int) (addrlit.value() >> 32); int lsb32 = (int) (addrlit.value()); --- 649,661 ---- void MacroAssembler::internal_sethi(const AddressLiteral& addrlit, Register d, bool ForceRelocatable) { address save_pc; int shiftcnt; ! #ifdef VALIDATE_PIPELINE ! assert_no_delay("Cannot put two instructions in delay-slot."); ! #endif v9_dep(); save_pc = pc(); int msb32 = (int) (addrlit.value() >> 32); int lsb32 = (int) (addrlit.value());
*** 750,760 **** if (inv_hi22(hi22(value)) == value) { sethi(addrlit, d); return; } } ! assert_not_delayed((char*) "cannot put two instructions in delay slot"); internal_sethi(addrlit, d, ForceRelocatable); if (ForceRelocatable || addrlit.rspec().type() != relocInfo::none || addrlit.low10() != 0) { add(d, addrlit.low10(), d, addrlit.rspec()); } } --- 750,760 ---- if (inv_hi22(hi22(value)) == value) { sethi(addrlit, d); return; } } ! assert_no_delay("Cannot put two instructions in delay-slot."); internal_sethi(addrlit, d, ForceRelocatable); if (ForceRelocatable || addrlit.rspec().type() != relocInfo::none || addrlit.low10() != 0) { add(d, addrlit.low10(), d, addrlit.rspec()); } }
< prev index next >