Skip to content

Conversation

@graalvmbot
Copy link
Collaborator

Various issues with Crema noticed while working on invokedynamic resolution.

  • Improve handling of declaringClass
    It must be done lazily. Only fail when something tries to access the declaring class rather than when loading classes.
  • Fix module workaround for the boot class loader
    In that case we must use the internal BootClassLoader to get to the unnamed module.
  • Don't set an entry point for abstract methods
    Those would anyway always get the METHOD_POINTER_NOT_COMPILED_HANDLER
  • Save vtable index for AOT methods
    This is needed to dispatch properly on AOT methods in the interpreter.
  • Fix static method reflective invocation
    The interpreter doesn't need the null receiver.

Some changes in response to comments from a previous PR:

  • Simplify CremaResolvedJavaFieldImpl.get(Resolved)Type
  • Use getResolvedType while resolving field MethodHandles
  • Rename rawNewInstance to allocateInstance
  • RuntimeClassLoading: move inner classes to the bottom

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Oct 7, 2025
@graalvmbot graalvmbot merged commit 1a8256c into master Oct 8, 2025
13 checks passed
@graalvmbot graalvmbot deleted the gd/crema-misc branch October 8, 2025 03:09
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