Skip to content

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
@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