-
Notifications
You must be signed in to change notification settings - Fork 17
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
JDK-8328886: Lilliput: Build COH archives #145
JDK-8328886: Lilliput: Build COH archives #145
Conversation
👋 Welcome back stuefe! A progress list of the required criteria for merging this PR into |
@tstuefe 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 no new commits pushed to the ➡️ To integrate this PR with the above commit message to the |
d39cb0c
to
77fc787
Compare
Windows aarch64 error is mysterious, but from googling around, it looks like a GitHub issue. Unfortunately, I have no Windows aarch64 machine to repeat the test manually. |
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.
Looks good, but I have a question.
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 now, thanks!
Okay, will wait for GHAs to finish, then push. |
Remaining x86 problems unrelated. /integrate |
Going to push as commit e331ea1. |
This is a breakout from and a prerequisite for JDK-8325104.
To run with +COH and CDS enabled, and to enable tests testing this combination, we need to build archives with +COH too.
This patch expands the number of archives built to four:
a) classes.jsa (+UseCompressedClassPointers, -UseCompactObjectHeaders)
b) classes_nocoops.jsa (-UseCompressedClassPointers, -UseCompactObjectHeaders)
c) classes_coh.jsa (+UseCompressedClassPointers, +UseCompactObjectHeaders)
d) classes_nocoops_coh.jsa (-UseCompressedClassPointers, +UseCompactObjectHeaders)
Naming could be more logical, but my aim was to keep compatibility with upstream archive names (no functional or name changes for classes.jsa and classes_nocoops.jsa).
Another design goal was for the name-to-options mapping not to change even if UseCOH were enabled by default. So, classes.jsa is not the "default jsa" but explicitly and always signifies the jsa with +coops -coh.
The new configure option
--(enable|disable)-cds-archive-coh
allows you to enable/disable the generation of COH archives. By default, it is enabled if the underlying platform supports COH (64-bit) and if standard CDS archive generation is enabled (e.g., not for cross-compilation).Note that the upcoming JEP "CDS Archived Object Streaming" (JDK-8326035) will eliminate the +-Coops distinction, thus reducing the number of CDS archives. It may also eliminate the +-COH distinction at some point, though that is harder.
But that JEP has to be developed and shipped first. After that, it will run alongside the old implementation for a while, which we keep as a fallback. Only if it is the sole remaining way to load CDS archives can we cut down the number of jsa archives. Until then, I propose to keep +-COH archives in addition to +-Coops archives.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/lilliput.git pull/145/head:pull/145
$ git checkout pull/145
Update a local copy of the PR:
$ git checkout pull/145
$ git pull https://git.openjdk.org/lilliput.git pull/145/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 145
View PR using the GUI difftool:
$ git pr show -t 145
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/lilliput/pull/145.diff
Webrev
Link to Webrev Comment