Skip to content

Conversation

graalvmbot
Copy link
Collaborator

This PR makes the RuntimeModuleSupport and the ModuleLayerFeature layer aware.

The RuntimeModuleSupport is now an ApplicationLayerOnlyImageSingleton which stores the bootLayer of the final layer. To ensure all modules are visible, all the modules from the base layer are also included in the final bootLayer, using the SharedLayerBootLayerModulesSingleton.

To allow the runtime module access to work properly, the Module#openPackages and Module#exportedPackages are now only finalized in the application layer, using the relocatable constants (via the CrossLayerConstantRegistry). The field values of all layers are aggregated in the LayeredModuleSingleton. This allows to add opens or exports in extension layers.

This PR also adds support for future constants that have a null value in the application layer. Instead of an offset, the null value (0) is directly written.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label May 26, 2025
@graalvmbot graalvmbot closed this May 27, 2025
@graalvmbot graalvmbot deleted the scoppey/GR-63220/module-layer-aware branch May 27, 2025 06:13
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