Skip to content

Commit ff713d9

Browse files
committed
8326761: Lilliput: OMWorld: Fix invalid markWord transition
Reviewed-by: rkennke
1 parent c96cdd6 commit ff713d9

File tree

1 file changed

+2
-10
lines changed

1 file changed

+2
-10
lines changed

src/hotspot/share/runtime/placeholderSynchronizer.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -828,16 +828,8 @@ bool PlaceholderSynchronizer::inflate_and_enter(oop object, BasicLock* lock, Jav
828828
const markWord mark = object->mark_acquire();
829829

830830
if (mark.has_monitor()) {
831-
if (monitor->owner_is_DEFLATER_MARKER()) {
832-
// Only help the monitor deflation thread transition to unlocked.
833-
// If owner is anonymous then a java thread deflated, and only they
834-
// may transition the mark word directly to fast_locked
835-
836-
// Let this thread help update the mark word to unlocked.
837-
const markWord new_mark = mark.clear_lock_bits().set_unlocked();
838-
(void)object->cas_set_mark(new_mark, mark);
839-
// Retry immediately
840-
}
831+
// Waiting on the deflation thread to remove the deflated monitor from the table.
832+
os::naked_yield();
841833

842834
} else if (mark.is_fast_locked()) {
843835
// Some other thread managed to fast-lock the lock, or this is a

0 commit comments

Comments
 (0)