< prev index next >

src/hotspot/cpu/x86/interp_masm_x86.cpp

Print this page

        

*** 1189,1199 **** movptr(Address(lock_reg, mark_offset), swap_reg); assert(lock_offset == 0, "displaced header must be first word in BasicObjectLock"); ! if (os::is_MP()) lock(); cmpxchgptr(lock_reg, Address(obj_reg, oopDesc::mark_offset_in_bytes())); if (PrintBiasedLockingStatistics) { cond_inc32(Assembler::zero, ExternalAddress((address) BiasedLocking::fast_path_entry_count_addr())); } --- 1189,1199 ---- movptr(Address(lock_reg, mark_offset), swap_reg); assert(lock_offset == 0, "displaced header must be first word in BasicObjectLock"); ! lock(); cmpxchgptr(lock_reg, Address(obj_reg, oopDesc::mark_offset_in_bytes())); if (PrintBiasedLockingStatistics) { cond_inc32(Assembler::zero, ExternalAddress((address) BiasedLocking::fast_path_entry_count_addr())); }
*** 1286,1296 **** // zero for recursive case jcc(Assembler::zero, done); // Atomic swap back the old header ! if (os::is_MP()) lock(); cmpxchgptr(header_reg, Address(obj_reg, oopDesc::mark_offset_in_bytes())); // zero for simple unlock of a stack-lock case jcc(Assembler::zero, done); --- 1286,1296 ---- // zero for recursive case jcc(Assembler::zero, done); // Atomic swap back the old header ! lock(); cmpxchgptr(header_reg, Address(obj_reg, oopDesc::mark_offset_in_bytes())); // zero for simple unlock of a stack-lock case jcc(Assembler::zero, done);
< prev index next >