RFR: 8223312: Utilize handshakes instead of is_thread_fully_suspended
David Holmes
david.holmes at oracle.com
Tue Oct 20 06:36:48 UTC 2020
On 20/10/2020 4:18 pm, Robbin Ehn wrote:
> On Tue, 20 Oct 2020 02:14:56 GMT, David Holmes <dholmes at openjdk.org> wrote:
>
>>> The main point of this change-set is to make it easier to implement S/R on top of handshakes.
>>> Which is a prerequisite for removing _suspend_flag (which duplicates the handshake functionality).
>>> But we also remove some complicated S/R methods.
>>>
>>> We basically just put in everything in the handshake closure, so the diff just looks much worse than what it is.
>>>
>>> TraceSuspendDebugBits have an ifdef, but in both cases it now just returns.
>>> But I was unsure if I should remove now or when is_ext_suspend_completed() is removed.
>>>
>>> Passes multiple t1-5 runs, locally it passes many jck:vm/nsk_jvmti/nsk_jdi/jdk-jdi runs.
>>
>> src/hotspot/share/runtime/thread.cpp line 579:
>>
>>> 577: // That trace is very chatty.
>>> 578: return;
>>> 579: #else
>>
>> Without the !is_wait check none of the code below line 583 is reachable now. I would remove this now.
>
> Since only the destructor contains any actual functionality, which is now unreachable, should I remove the entire
> TraceSuspendDebugBits?
Go for it! :)
Davids
> -------------
>
> PR: https://git.openjdk.java.net/jdk/pull/729
>
More information about the serviceability-dev
mailing list