On Wed, 7 Apr 2021 09:56:19 GMT, Richard Reingruber <rr...@openjdk.org> wrote:
>> Robbin Ehn has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains three commits: >> >> - Merge branch 'master' into SuspendInHandshake >> - Merge branch 'master' into SuspendInHandshake >> - 8257831: Suspend with handshake (review baseline) > > src/hotspot/share/runtime/objectMonitor.cpp line 428: > >> 426: } else { >> 427: // Only exit path from for loop >> 428: SafepointMechanism::process_if_requested(current); > > I think the current thread can suspend here in L428. This seems problematic > as entering OM has been started but not completed. > > - The current thread is set as owner in ObjectMonitor::_owner > - The thread state will still be JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER > because of the JavaThreadBlockedOnMonitorEnterState in L389. > - Thread::_current_pending_monitor has not been reset to NULL. Yes, I think you are correct. I'll look over it. ------------- PR: https://git.openjdk.java.net/jdk/pull/3191