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

[GR-53552] Remove Future from ImageLayerLoader #8981

Merged

Conversation

graalvmbot
Copy link
Collaborator

The types are now not all loaded by default before the analysis.
They can now be loaded on demand using ImageLayerLoader.getAnalysisType(Integer tid).

Similarly, all the constants are now not created by default and they are only created when needed.

Now, instead of creating all the constants when loading the layer, only the data needed to detect the hosted object that need to be re-linked is stored.

Then, the base layer constant is only created when this object is queried in the Shadow Heap. Its child constants are only created when they are accessed, in the same way the Shadow Heap does in the default build.

While this PR does not reduce the size of the application layer (the application heap size is the same), the build process is around 20% faster (performance on local machine).

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label May 28, 2024
@graalvmbot graalvmbot closed this May 28, 2024
@graalvmbot graalvmbot merged commit 4aaf7e3 into master May 28, 2024
13 checks passed
@graalvmbot graalvmbot deleted the scoppey/GR-53552/remove-futures-from-imagelayerloader branch May 28, 2024 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants