RFR: 8257831: Suspend with handshakes [v2]
Richard Reingruber
rrich at openjdk.java.net
Tue Apr 6 16:28:52 UTC 2021
On Tue, 6 Apr 2021 10:05:08 GMT, Robbin Ehn <rehn at openjdk.org> wrote:
>> src/hotspot/share/prims/jvmtiRawMonitor.cpp line 364:
>>
>>> 362: for (;;) {
>>> 363: simple_enter(jt);
>>> 364: if (!SafepointMechanism::should_process(jt)) {
>>
>> It seems to be likely that the condition is false in the first loop iteration and the thread has to do another iteration even if not suspended. Wouldn't it be ok to break from the loop if `!jt->is_suspended()`?
>> I'm asking because in ObjectMonitor::enter() L414 there is similar code and the condition there is `SafepointMechanism::should_process(current) && current->suspend_request_pending()`
>
> I didn't add that optimization here because I don't think it is needed, but I can add it.
Your version is good.
-------------
PR: https://git.openjdk.java.net/jdk/pull/3191
More information about the serviceability-dev
mailing list