-
Notifications
You must be signed in to change notification settings - Fork 6.1k
8352075: Perf regression accessing fields #25877
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
8352075: Perf regression accessing fields #25877
Conversation
👋 Welcome back coleenp! A progress list of the required criteria for merging this PR into |
@coleenp 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 12 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. ➡️ To integrate this PR with the above commit message to the |
This backport pull request has now been updated with issue from the original commit. |
Thank you for the backport! @shipilev indicated that the backport to 21 should wait a bit, could you clarify when should I file that (e.g. end of July, ...)? |
I would say for the fairly big change like this, we want to wait until JDK 25 GA (that would pass the all-tests-run). It would be too late for Oct 2025 release, though. So realistically, this would target January 2026 release. You can pull this patch to your downstream JDK 21 to see if there are any troubles ahead of this path, this will also soothe 21u maintainer concerns, I think. |
So @shipilev, JDK 25 is in rampdown phase 1. Rampdown phase 2 starts 7/17. It's a big change for JDK 25. My sense of the risk is that it's not high. If it's checked in now, I think it'll get more testing than if it gets backported to a 25.01 release. I'll discuss it with people here. I think for JDK 21, we should wait for more testing to be run after 25 GA. |
Yeah, I am on the fence for JDK 25, can take it both ways. If it is to land in JDK 25u anyway, there is some benefit for doing it in GA for more testing. At the same time, JDK 26 is already testing it, so there is no particular need to risk JDK 25 stability, and we can just capitalize on JDK 26 testing for JDK 25u backport. For JDK 21u, it definitely needs to be released in JDK 25 first. |
Hi Aleksey. The consensus around here is that this should go in JDK 25 so it gets the usual end of release testing, and doesn't go through a special process for update release. This fixes a regression where we have no workaround. If any disasters happen, we can change the BinarySearchThreshold in the source code as a fix, and/or make it a diagnostic option. |
Yeah, as I said, can take it both ways. Picking this up to JDK 25 works for me as well. |
Thank you for your feedback and comments for this. Here goes. |
@coleenp This pull request has not yet been marked as ready for integration. |
oops I guess I need approval, even though it was a clean backport. |
Thank you Aleksey and Ioi. |
Going to push as commit 0694cc1.
Your commit was automatically rebased without conflicts. |
Hi all,
This pull request contains a backport of commit e18277b4 from the openjdk/jdk repository.
The commit being backported was authored by Radim Vansa on 12 Jun 2025 and was reviewed by Coleen Phillimore, Ioi Lam and Johan Sjölen.
This has been running cleanly in CI for a week now.
Thanks!
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/25877/head:pull/25877
$ git checkout pull/25877
Update a local copy of the PR:
$ git checkout pull/25877
$ git pull https://git.openjdk.org/jdk.git pull/25877/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 25877
View PR using the GUI difftool:
$ git pr show -t 25877
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/25877.diff
Using Webrev
Link to Webrev Comment