-
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
8346832: runtime/CompressedOops/CompressedCPUSpecificClassSpaceReservation.java fails on RISC-V #22879
Conversation
…ation.java fails on RISC-V
👋 Welcome back fyang! A progress list of the required criteria for merging this PR into |
@RealFYang 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 28 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 |
@RealFYang The following label will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command. |
/label remove hotspot-compiler |
/label add hotspot-runtime |
@RealFYang |
@RealFYang |
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.
Hi @RealFYang!
Would not removing the zero-based search be simpler then? We would forfeit the search for an area within 4g-32g then, but if I recall correctly, for bases between 4G and 16TB we use addiw + slli. In other words, we don't take advantage of zero base nonzero shift.
If I recall that incorrectly, then you are right, we may just skip searching between 4Gb and 32Gb since we just did that in the zero-based step.
Hi Thomas,
Yes, I think you are right. I don't see why range 4g-32g is special here either. And I have updated accordingly. 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.
LGTM. Thanks for fixing.
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 fine, thanks!
@tstuefe @feilongjiang : Thanks for the review! |
Going to push as commit de02503.
Your commit was automatically rebased without conflicts. |
@RealFYang Pushed as commit de02503. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Hi, please review this small change fixing a test failure.
This test first expects
tryReserveForUnscaled
andtryReserveForZeroBased
from the process output. In addition, when test without CDS, it also expectsreserve_between (range [0x0000000800000000-0x0000100000000000)
which is not lower than zero-based limit. But the process output givesreserve_between (range [0x0000000100000000-0x0000100000000000)
, which is not expected.Previously, we have the code handling this case in
CompressedKlassPointers::reserve_address_space_for_compressed_classes
.But I find that the code is gone after JDK-8305895: Implement JEP 450: Compact Object Headers. This is the related change:
It seems to me more reasonable to add the
optimize_for_zero_base check
back and replace theLogKlassAlignmentInBytes
withCompressedKlassPointers::max_shift()
. max_shift() is used inCompressedKlassPointers::reserve_address_space_for_zerobased_encoding
to calculatezerobased_max
as well [1].Testing: same test passes with fastdebug build on linux-riscv64 platform. Tagging @tstuefe
[1] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/oops/compressedKlass.cpp#L201
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/22879/head:pull/22879
$ git checkout pull/22879
Update a local copy of the PR:
$ git checkout pull/22879
$ git pull https://git.openjdk.org/jdk.git pull/22879/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 22879
View PR using the GUI difftool:
$ git pr show -t 22879
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/22879.diff
Using Webrev
Link to Webrev Comment