public class MethodHandleFeature extends Object implements org.graalvm.nativeimage.hosted.Feature
java.lang.invoke
package. We mostly reuse the JDK implementation for those, with some exceptions which are
detailed in the substitution methods in this package, notably to avoid the runtime compilation of
method handle trees into optimized invokers.
Some direct method handles with particular semantics (defined in MethodHandleIntrinsic
)
are directly executed without going through the reflection API. We also substitute the native
calls into the JDK internals with equivalent implementations (see
Target_java_lang_invoke_MethodHandleNatives
).org.graalvm.nativeimage.hosted.Feature.AfterAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.AfterCompilationAccess, org.graalvm.nativeimage.hosted.Feature.AfterHeapLayoutAccess, org.graalvm.nativeimage.hosted.Feature.AfterImageWriteAccess, org.graalvm.nativeimage.hosted.Feature.AfterRegistrationAccess, org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.BeforeCompilationAccess, org.graalvm.nativeimage.hosted.Feature.BeforeImageWriteAccess, org.graalvm.nativeimage.hosted.Feature.BeforeUniverseBuildingAccess, org.graalvm.nativeimage.hosted.Feature.CompilationAccess, org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess, org.graalvm.nativeimage.hosted.Feature.FeatureAccess, org.graalvm.nativeimage.hosted.Feature.IsInConfigurationAccess, org.graalvm.nativeimage.hosted.Feature.OnAnalysisExitAccess, org.graalvm.nativeimage.hosted.Feature.QueryReachabilityAccess
Constructor and Description |
---|
MethodHandleFeature() |
Modifier and Type | Method and Description |
---|---|
void |
afterAnalysis(org.graalvm.nativeimage.hosted.Feature.AfterAnalysisAccess access) |
void |
beforeAnalysis(org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess access) |
void |
duringSetup(org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess access) |
boolean |
isInConfiguration(org.graalvm.nativeimage.hosted.Feature.IsInConfigurationAccess access) |
public boolean isInConfiguration(org.graalvm.nativeimage.hosted.Feature.IsInConfigurationAccess access)
isInConfiguration
in interface org.graalvm.nativeimage.hosted.Feature
public void duringSetup(org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess access)
duringSetup
in interface org.graalvm.nativeimage.hosted.Feature
public void beforeAnalysis(org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess access)
beforeAnalysis
in interface org.graalvm.nativeimage.hosted.Feature
public void afterAnalysis(org.graalvm.nativeimage.hosted.Feature.AfterAnalysisAccess access)
afterAnalysis
in interface org.graalvm.nativeimage.hosted.Feature