APIdia Launch Partner
Top Description Inners Fields Constructors Methods
java.lang.invoke

pack-priv final Class NativeMethodHandle

extends MethodHandle
Class Inheritance
Imports
jdk.internal.vm.annotation.ForceInline, jdk.internal.foreign.abi.NativeEntryPoint

This class models a method handle to a native function. A native method handle is made up of a NativeEntryPoint, which is used to capture the characteristics of the native call (such as calling convention to be used, or whether a native transition is required) and a fallback method handle, which can be used when intrinsification of this method handle is not possible.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
NativeMethodHandle.Lazy

Pre-initialized NamedFunctions for bootstrapping purposes.

Field Summary

Modifier and TypeField and Description
private static final MemberName.Factory
pack-priv final NativeEntryPoint
Inherited from java.lang.invoke.MethodHandle:
form

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
pack-priv final MethodHandle
copyWith(MethodType mt, LambdaForm lf)

Implements abstract java.lang.invoke.MethodHandle.copyWith.

/ Method handle implementation methods.

private static boolean
pack-priv static Object
private static boolean
isIllegalType(Class<?> pType)

public static MethodHandle
make(NativeEntryPoint nep)

Creates a new native method handle with given NativeEntryPoint and fallback method handle.

private static LambdaForm
private static LambdaForm
pack-priv BoundMethodHandle
rebind()

Implements abstract java.lang.invoke.MethodHandle.rebind.

Require this method handle to be a BMH, or else replace it with a "wrapper" BMH.

Inherited from java.lang.invoke.MethodHandle:
asCollectorasCollectorasCollectorChecksasFixedArityasSpreaderasSpreaderasTypeasTypeUncachedasVarargsCollectorbindArgumentLbindTocustomizedebugPrefixdebugStringdebugStringdescribeConstableinternalCallerClassinternalForminternalMemberNameinternalPropertiesinternalPropertiesinternalValuesintrinsicDataintrinsicNameinvokeinvokeBasicinvokeExactinvokeWithArgumentsinvokeWithArgumentsisCrackableisInvokeSpecialisVarargsCollectorlinkToInterfacelinkToNativelinkToSpeciallinkToStaticlinkToVirtualmaybeCustomizesetVarargsstandardStringtoStringtypeupdateFormviewAsTypeviewAsTypeCheckswithInternalMemberNamewithVarargs

Field Detail

IMPL_NAMESback to summary
private static final MemberName.Factory IMPL_NAMES
nepback to summary
pack-priv final NativeEntryPoint nep

Constructor Detail

NativeMethodHandleback to summary
private NativeMethodHandle(MethodType type, LambdaForm form, NativeEntryPoint nep)

Method Detail

copyWithback to summary
pack-priv final MethodHandle copyWith(MethodType mt, LambdaForm lf)

Implements abstract java.lang.invoke.MethodHandle.copyWith.

Doc from java.lang.invoke.MethodHandle.copyWith.

/ Method handle implementation methods. / Sub-classes can override these default implementations. / All these methods assume arguments are already validated.

Annotations
@Override
hasIllegalTypeback to summary
private static boolean hasIllegalType(MethodType type)
internalNativeEntryPointback to summary
pack-priv static Object internalNativeEntryPoint(Object mh)
Annotations
@ForceInline
isIllegalTypeback to summary
private static boolean isIllegalType(Class<?> pType)
makeback to summary
public static MethodHandle make(NativeEntryPoint nep)

Creates a new native method handle with given NativeEntryPoint and fallback method handle.

makePreparedLambdaFormback to summary
private static LambdaForm makePreparedLambdaForm(MethodType mtype)
preparedLambdaFormback to summary
private static LambdaForm preparedLambdaForm(MethodType mtype)
rebindback to summary
pack-priv BoundMethodHandle rebind()

Implements abstract java.lang.invoke.MethodHandle.rebind.

Doc from java.lang.invoke.MethodHandle.rebind.

Require this method handle to be a BMH, or else replace it with a "wrapper" BMH. Many transforms are implemented only for BMHs.

Annotations
@Override
java.lang.invoke back to summary

private Class NativeMethodHandle.Lazy

extends Object
Class Inheritance

Pre-initialized NamedFunctions for bootstrapping purposes. Factored in an inner class to delay initialization until first usage.

Field Summary

Modifier and TypeField and Description
pack-priv static final LambdaForm.NamedFunction

Constructor Summary

AccessConstructor and Description
private
Lazy()

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

NF_internalNativeEntryPointback to summary
pack-priv static final LambdaForm.NamedFunction NF_internalNativeEntryPoint

Constructor Detail

Lazyback to summary
private Lazy()