< prev index next >

src/hotspot/cpu/sparc/macroAssembler_sparc.cpp

Print this page

        

*** 2784,2794 **** orcc(Rbox, Rscratch, G0); brx(Assembler::zero, false, Assembler::pt, done); delayed()-> st_ptr(G0, Address(Rmark, OM_OFFSET_NO_MONITOR_VALUE_TAG(owner))); ! if (os::is_MP()) { membar(StoreLoad); } // Check that _succ is (or remains) non-zero ld_ptr(Address(Rmark, OM_OFFSET_NO_MONITOR_VALUE_TAG(succ)), Rscratch); andcc(Rscratch, Rscratch, G0); brx(Assembler::notZero, false, Assembler::pt, done); delayed()->andcc(G0, G0, G0); --- 2784,2794 ---- orcc(Rbox, Rscratch, G0); brx(Assembler::zero, false, Assembler::pt, done); delayed()-> st_ptr(G0, Address(Rmark, OM_OFFSET_NO_MONITOR_VALUE_TAG(owner))); ! membar(StoreLoad); // Check that _succ is (or remains) non-zero ld_ptr(Address(Rmark, OM_OFFSET_NO_MONITOR_VALUE_TAG(succ)), Rscratch); andcc(Rscratch, Rscratch, G0); brx(Assembler::notZero, false, Assembler::pt, done); delayed()->andcc(G0, G0, G0);
< prev index next >