RFR: 8223312: Utilize handshakes instead of is_thread_fully_suspended [v3]
Erik Österlund
eosterlund at openjdk.java.net
Thu Oct 22 07:54:17 UTC 2020
On Wed, 21 Oct 2020 08:40:47 GMT, Robbin Ehn <rehn 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.
>
> Robbin Ehn has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains seven commits:
>
> - Fixed merge miss
> - Merge branch 'master' into 8223312-Utilize-handshakes-instead-of-is_thread_fully_suspended
> - Merge fix from Richard
> - Merge branch 'master' into 8223312-Utilize-handshakes-instead-of-is_thread_fully_suspended
> - Removed TraceSuspendDebugBits
> - Removed unused method is_ext_suspend_completed_with_lock
> - Utilize handshakes instead of is_thread_fully_suspended
src/hotspot/share/prims/jvmtiEnv.cpp line 1663:
> 1661: return JVMTI_ERROR_OUT_OF_MEMORY;
> 1662: }
> 1663: if (!eb.deoptimize_objects(1)) {
Oh and why is the depth 1 here, when two frames are deoptimized? Maybe I missed something.
-------------
PR: https://git.openjdk.java.net/jdk/pull/729
More information about the serviceability-dev
mailing list