[GR-70261] Crema: Fix various issues around invocation. #12310
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Various issues with Crema noticed while working on invokedynamic resolution.
It must be done lazily. Only fail when something tries to access the declaring class rather than when loading classes.
In that case we must use the internal
BootClassLoaderto get to the unnamed module.Those would anyway always get the
METHOD_POINTER_NOT_COMPILED_HANDLERThis is needed to dispatch properly on AOT methods in the interpreter.
The interpreter doesn't need the
nullreceiver.Some changes in response to comments from a previous PR:
CremaResolvedJavaFieldImpl.get(Resolved)TypegetResolvedTypewhile resolving field MethodHandlesrawNewInstancetoallocateInstanceRuntimeClassLoading: move inner classes to the bottom