Skip to content
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

classes.jsa and classes_nocoops.jsa now excluded from MacOS JDKs/JREs? #937

Open
chadlwilson opened this issue Nov 1, 2023 · 5 comments
Labels
keep This label can be applied to prevent the Stale bot from closing it after a period of inactivity

Comments

@chadlwilson
Copy link

chadlwilson commented Nov 1, 2023

Question

I noticed that the JREs for 17.0.9 now exclude classes*.jsa where they were included in 17.0.8.

While smaller JREs distributions are always great, my understanding was that class data sharing was still an important part of improving JRE startup time. Can someone point me to the reading and impact of this compared to previous releases? I infer perhaps these were not actually being used/effective earlier, or perhaps removed as part of the reproducible build effort.

Context

Java version:

openjdk version "17.0.9" 2023-10-17
OpenJDK Runtime Environment Temurin-17.0.9+9 (build 17.0.9+9)
OpenJDK 64-Bit Server VM Temurin-17.0.9+9 (build 17.0.9+9, mixed mode)

Your operating system and platform:

MacOS Sonoma 14.1 on aarch64 (but relevant for other platforms)

@karianna
Copy link
Contributor

karianna commented Nov 5, 2023

I've asked our build team to investigate

@chadlwilson
Copy link
Author

After looking a little bit further (but not exhaustively across platforms and archs) it sort of looks like

  • Mac aarch64 builds: classes*.jsa has been been excluded for quite a while, at least versions back as far as 17.0.4
  • Mac x64 builds: classes*.jsa started getting excluded from 17.0.9+

So I guess they are at least consistent now. But not sure of impact.

@chadlwilson chadlwilson changed the title classes.jsa and classes_nocoops.jsa now excluded from JREs? classes.jsa and classes_nocoops.jsa now excluded from MacOS JREs? Jan 20, 2024
@chadlwilson chadlwilson changed the title classes.jsa and classes_nocoops.jsa now excluded from MacOS JREs? classes.jsa and classes_nocoops.jsa now excluded from MacOS JDKs/JREs? Jan 20, 2024
@chadlwilson
Copy link
Author

chadlwilson commented Jan 20, 2024

Based on a recent Mac aarch64 build log perhaps might be something to do with cross-compilation if relying on default archives being created.

Perhaps aarch64 was always cross-compiled (so no default archive generated by the build if relying on JEP 341), and from 17.0.9+ x64 was maybe also considered cross-compiled due to some build env changes moving it to Apple Silicon machines?

I note work to possibly move to arm64 machines and cross-compile x64 (which might explain why the archives disappeared for x64 builds) in places like adoptium/infrastructure#2536 but can't really make sense of all the WIP as an outsider :-)

Copy link

We are marking this issue as stale because it has not been updated for a while. This is just a way to keep the support issues queue manageable.
It will be closed soon unless the stale label is removed by a committer, or a new comment is made.

@github-actions github-actions bot added the stale label Apr 20, 2024
@chadlwilson
Copy link
Author

I'm pretty sure this is still a problem.

@github-actions github-actions bot added keep This label can be applied to prevent the Stale bot from closing it after a period of inactivity and removed stale labels Apr 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
keep This label can be applied to prevent the Stale bot from closing it after a period of inactivity
Projects
None yet
Development

No branches or pull requests

2 participants