Introduce support for JEP 483's new AOT cache#46169
Conversation
This comment has been minimized.
This comment has been minimized.
|
🙈 The PR is closed and the preview is expired. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Given that it would be very nice to have this for 3.19, can we get this merged? cc @gsmet |
gsmet
left a comment
There was a problem hiding this comment.
I added some comments.
Maybe let's get this in to make sure it's in the CR1 and then we can polish before Final?
I let you judge of that, we need things merged before tomorrow morning early, latest.
| this.type = type; | ||
| } | ||
|
|
||
| public Path getAppCDSDir() { |
There was a problem hiding this comment.
Ideally, we would change this name but let's do it in a follow-up so that we can make sure we push this one to 3.19.
| private final Path dir; | ||
| private final JvmStartupOptimizerArchiveType type; | ||
|
|
||
| public AppCDSRequestedBuildItem(Path appCDSDir) { |
There was a problem hiding this comment.
The name of the build item is not ideal if we want to make it something generic.
There was a problem hiding this comment.
I know, but I didn't want to rename it until after the next LTS (although it's highly unlikely to be used anywhere)
| public AppCDSResultBuildItem(Path appCDS) { | ||
| this(appCDS, JvmStartupOptimizerArchiveType.AppCDS); | ||
| } |
There was a problem hiding this comment.
Same here about the names of build items and variables/fields.
| this.type = type; | ||
| } | ||
|
|
||
| public Path getAppCDS() { |
This works in much the same way as AppCDS does - it allows us to create an archive at build time without the training run. This is done by launching the application up to a known point where no connections are made, therefore capturing a good portion of the classes that will be needed for the entire startup without the hassle of introducing a proper training run.
Status for workflow
|
|
FWIW, one approach we use quite often is:
Now I'm not entirely sure it's worth it in this case and I agree we can keep it as is for the current LTS and change it after that. |
|
👌. Let's revisit once we branch for 3.19 |
Status for workflow
|
This works in much the same way as AppCDS does -
it allows us to create an archive at build time
without the training run.
This is done by launching the application up to
a known point where no connections are made,
therefore capturing a good portion of the classes
that will be needed for the entire startup without
the hassle of introducing a proper training run.
This obviously only work on JDK 24+