-
Notifications
You must be signed in to change notification settings - Fork 5.7k
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
8306038: SystemModulesPlugin generates code that doesn't pop when return value not used #13442
Conversation
👋 Welcome back koppor! A progress list of the required criteria for merging this PR into |
I think you've got the wrong JBS issue, JDK-8240567 is about changing the SystemModulesPlugin to avoid the 64k limit on method size. |
For me, it's the correct one. I was not sure which one to link. I can also drop the reference. More background: I am currently trying to get #10704 finished and saw that improvement. Just in case, I don't manage to get that PR finished, I wanted to keep my small contribution alive. 😅 |
I checked the generated code and it looks like the code generated to invoke builder's newRequires, newExports, ... is missing a pop as the return values aren't used. It seems to be benign for now but could bite. I've created JDK-8306038 to track it . |
Thank you for creating the issue. - I added the pop at the "missing" places as there already wore pops at other places in that class. |
/reviewers 2 |
@AlanBateman |
This looks right. I assume you've checked You will need to edit the PR so it matches the JBS title. @mlchung @asotona, do you want to look at this too? I think it pre-dates the conversion to the class file API. |
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 looks okay.
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 small change is fine.
koppor@DESKTOP-KAK953S /cygdrive/c/git-repositories/jdk/jdk/build/windows-x86_64-server-release/jdk/bin
$ ./java -XX:+UnlockDiagnosticVMOptions -XX:+BytecodeVerificationLocal -version
openjdk version "21-internal" 2023-09-19
OpenJDK Runtime Environment (build 21-internal-adhoc.koppor.jdk)
OpenJDK 64-Bit Server VM (build 21-internal-adhoc.koppor.jdk, mixed mode)
TBH, I assumed there is a CI in place checking Locally, they do not run here. Example:
I assume, I should run the test on a dedicated linux machine? |
or you can just run jlink test with this command:
|
I ran tier1-tier3 tests with your patch and all passed. |
Good. @koppor You can edit the PR title to match the JBS issue, then enter "/integrate" and one of us will sponsor. |
/integrate |
@koppor 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 84 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 (@AlanBateman, @mlchung) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
/sponsor |
Going to push as commit c57af31.
Your commit was automatically rebased without conflicts. |
This refs 8306038
(Before this referenced 8240567)
Although this change is rather small, I think, it's good to have a "more clean" SystemModulesPlugin available.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/13442/head:pull/13442
$ git checkout pull/13442
Update a local copy of the PR:
$ git checkout pull/13442
$ git pull https://git.openjdk.org/jdk.git pull/13442/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 13442
View PR using the GUI difftool:
$ git pr show -t 13442
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/13442.diff
Webrev
Link to Webrev Comment