-
Notifications
You must be signed in to change notification settings - Fork 5.9k
8265754: Move suspend/resume API from HandshakeState #25407
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
👋 Welcome back toxaart! A progress list of the required criteria for merging this PR into |
@toxaart This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 11 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@dholmes-ora, @pchilano, @coleenp) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
Webrevs
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This refactoring seems okay to me.
Thanks
In order to fully move suspend/resume code outside of |
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? |
@toxaart All the suspend/resume code used to live in JavaThread so we are coming full-circle. :) I don't quite recall the path that led to it being taken out of JavaThread. No objections from me. |
@pchilano Do you expect to have any performance impact of having an indirection layer? Since we found out that the suspend/resume code used to belong to JavaThread and then was moved out of there for (some) reason, I do not see a good explanation of why one should bring it back there. JavaThread class is already huge and from maintainability perspective I think it is better to have the suspend/resume API separated. At the same time it is clearly not a part of An option might be, if I understand correctly, to do a less straightforward refactoring as suggested above, i.e. without giving Another option is to keep things in |
No concern about performance, just where the code should be for better design and simplicity.
The reason is the interaction with the
The issue is that you would have to keep those methods that need access to it in
That sounds better. I would personally leave it in |
@toxaart |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am okay with this refactoring. I will let you and Patricio iron out any further wrinkles.
Thanks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, thanks!
/integrate |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just needs a copyright fix.
/integrate |
/sponsor |
/sponsor |
Going to push as commit 42ab8fcfb98eacb2d93f59c012360a99a16e5450.
Your commit was automatically rebased without conflicts. |
@coleenp The command |
Hi,
in this PR the suspend/resume methods are moved away from the HandshakeState class into a new separate class SuspendResumeManager. The idea is that the state class should be a state keeper and should not be responsible for actions which change the state. Such actions should be done by a separate class.
Tested in tiers 1-4.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/25407/head:pull/25407
$ git checkout pull/25407
Update a local copy of the PR:
$ git checkout pull/25407
$ git pull https://git.openjdk.org/jdk.git pull/25407/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 25407
View PR using the GUI difftool:
$ git pr show -t 25407
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/25407.diff
Using Webrev
Link to Webrev Comment