On Wed, 31 Mar 2021 09:37:37 GMT, Richard Reingruber <[email protected]> wrote:
>> src/hotspot/share/runtime/thread.cpp line 2105:
>>
>>> 2103: if (is_external_suspend()) {
>>> 2104: java_suspend_self();
>>> 2105: }
>>
>> It is not at all clear to me how this method should interact with thread
>> suspension ??
>
> In JavaThread::wait_for_object_deoptimization() the current thread can
> transition to the safe state _thread_blocked. In that state it can be
> suspended. In the baseline version wait_for_object_deoptimization() checks
> for suspension explicitly and self suspends if positive. With this
> enhancement it happens implicitly by calling
> SafepointMechanism::process_if_requested().
Yes, thanks.
-------------
PR: https://git.openjdk.java.net/jdk/pull/3191