Skip to content

[GR-73396] Move @Uninterruptible and @AlwaysInline annotations to the shared module#13144

Open
graalvmbot wants to merge 6 commits intomasterfrom
je/shared-uninterruptible-GR-73396
Open

[GR-73396] Move @Uninterruptible and @AlwaysInline annotations to the shared module#13144
graalvmbot wants to merge 6 commits intomasterfrom
je/shared-uninterruptible-GR-73396

Conversation

@graalvmbot
Copy link
Collaborator

Summary

  • move com.oracle.svm.guest.staging.Uninterruptible to com.oracle.svm.shared.Uninterruptible
  • move com.oracle.svm.core.AlwaysInline to com.oracle.svm.shared.AlwaysInline
  • update all affected imports in graal and graal-enterprise
  • remove shared-module workaround substitutions that were only needed because @Uninterruptible and @AlwaysInline were not available in com.oracle.svm.shared
  • keep the transitional com.oracle.svm.guest.staging root package non-empty with a small marker type so SVM_GUEST_STAGING still builds on current upstream/master

Why

The shared module now contains code that also needs to use @Uninterruptible and @AlwaysInline. Keeping these annotations outside com.oracle.svm.shared was already causing issues and forcing substitution-based workarounds instead of letting shared code annotate itself directly. See https://github.com/oracle/graal/blob/f2e0eb5e50dd46d4a72378562199aae6f057af16/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/SharedModuleUninterruptibleSubstitutions.java for example. This also lets shared utility code such as SubstrateUtil carry its runtime annotations directly instead of reintroducing them indirectly via @AnnotateOriginal substitutions. Since these annotations only matter for compiled code and are ignored in the builder as before, moving them to com.oracle.svm.shared keeps the semantics unchanged while putting them in the module where they are now actually needed.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Mar 13, 2026
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