RFR: 8265754: Move suspend/resume API from HandshakeState [v2]

Anton Artemov duke at openjdk.org
Fri May 30 09:31:53 UTC 2025


On Wed, 28 May 2025 18:36:05 GMT, Patricio Chilano Mateo <pchilanomate at openjdk.org> wrote:

>> Anton Artemov has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 10 additional commits since the last revision:
>> 
>>  - Merge remote-tracking branch 'origin/master' into JDK-8265754
>>  - Merge remote-tracking branch 'origin/master' into JDK-8265754
>>  - 8265754: Refactoring to static methods.
>>  - 8265754: Fixed indentation.
>>  - 8265754: Fixed indentation
>>  - 8265754: Fixed indentation and lost newline.
>>  - 8265754: Fixed whitespaces errors.
>>  - 8265754: More work.
>>  - Merge remote-tracking branch 'origin/master' into JDK-8265754
>>  - 8265754: Refactoring suspend/resume in the HandshakeState away
>
> In order to fully move suspend/resume code outside of `HandshakeState` we should also move `_suspended`/`_async_suspend_handshake`, otherwise we are just adding an extra indirection with class `HandshakeSuspender` IMO. The idea behind this bug was to define suspend/resume and related HandshakeClosure definitions without needing extra knowledge in `HandshakeState`, like any other HandshakeClosures. The reason why this is not straightforward is because of the interaction with the `HandshakeState` lock. But if we are going to give access to it to `HandshakeSuspender` we might as well give it to `JavaThread` instead and move everything there as that’s where all methods naturally belong. Something like this: https://github.com/pchilano/jdk/commit/4e870069e207ad2e8ba11ab1904a8df04961cef3

Thanks @pchilano, I agree that the refactoring I proposed is adding an extra layer. What you propose is moving the functionality to JavaThread. I think we need to come to an agreement on where it should belong to. @dholmes-ora do you have an opinion on that?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/25407#issuecomment-2921781253


More information about the hotspot-runtime-dev mailing list