| Modifier and Type | Class and Description |
|---|---|
| pack-priv class | Invokers.
Holds pre-generated bytecode for lambda forms used by method type invokers. |
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| private final MethodHandle[] | |
| private static final int | |
| private static final byte | |
| private static final byte | |
| private static final byte | |
| private static final byte | |
| private static final byte | |
| private static final byte | |
| private static final byte | |
| private static final byte | |
| private static final LambdaForm. | |
| private final MethodType | |
| pack-priv static final int | |
| pack-priv static final int |
| Access | Constructor and Description |
|---|---|
| pack-priv | Invokers(MethodType targetType)
Compute and cache information common to all collecting adapters that implement members of the erasure-family of the given erased type. |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv MethodHandle | |
| private MethodHandle | |
| private MethodHandle | |
| pack-priv static LambdaForm | |
| pack-priv static void | |
| pack-priv static void | checkExactType(MethodHandle mh, MethodType expected)
Static definition of MethodHandle.invokeExact checking code. |
| pack-priv static MethodHandle | checkGenericType(MethodHandle mh, MethodType expected)
Static definition of MethodHandle.invokeGeneric checking code. |
| private boolean | |
| pack-priv static MethodHandle | |
| pack-priv static MethodHandle | |
| private boolean | |
| private static LambdaForm. | |
| pack-priv static VarHandle | |
| pack-priv MethodHandle | |
| pack-priv MethodHandle | |
| pack-priv static MethodHandle | |
| private static LambdaForm. | |
| private static LambdaForm. | |
| private static Class | |
| pack-priv static MemberName | |
| pack-priv static LambdaForm | invokeHandleForm(MethodType
the caller's method type (either basic or full-custom) mtype, boolean whether to use a trailing appendix argument (to carry the mtype) customized, int bit-encoded 0x01 whether it is a CP adapter ("linker") or MHs.invoker value ("invoker");
0x02 whether it is for invokeExact or generic invoke which)Returns an adapter for invokeExact or generic invoke, as a MH or constant pool linker. |
| pack-priv static MemberName | |
| pack-priv static MemberName | |
| private MethodHandle | |
| private MethodHandle | |
| private void | maybeCompileToBytecode(MethodHandle invoker)
If the target type seems to be common enough, eagerly compile the invoker to bytecodes. |
| pack-priv static void | |
| pack-priv static MemberName | |
| pack-priv static WrongMethodTypeException | |
| private synchronized MethodHandle | |
| private MethodHandle | |
| pack-priv MethodHandle | Returns: invoker.invokeExact(mh, uarg*, C[]{sarg*}) := (RT)mh.invoke(uarg*, sarg*)the number of unchanged (non-spread) arguments leadingArgCount)Find or create an invoker which passes unchanged a given number of arguments and spreads the rest from a trailing array argument. |
| public String | |
| pack-priv static MemberName | |
| pack-priv MethodHandle | |
| private static LambdaForm | |
| pack-priv MethodHandle | |
| private static LambdaForm |
| INV_BASIC | back to summary |
|---|---|
| pack-priv static final int INV_BASIC | |
| INV_EXACT | back to summary |
|---|---|
| pack-priv static final int INV_EXACT | |
| INV_GENERIC | back to summary |
|---|---|
| pack-priv static final int INV_GENERIC | |
| INV_LIMIT | back to summary |
|---|---|
| pack-priv static final int INV_LIMIT | |
| invokers | back to summary |
|---|---|
| private final MethodHandle[] invokers
| |
| MH_LINKER_ARG_APPENDED | back to summary |
|---|---|
| private static final int MH_LINKER_ARG_APPENDED | |
| NF_checkCustomized | back to summary |
|---|---|
| private static final byte NF_checkCustomized | |
| NF_checkExactType | back to summary |
|---|---|
| private static final byte NF_checkExactType | |
| NF_checkGenericType | back to summary |
|---|---|
| private static final byte NF_checkGenericType | |
| NF_checkVarHandleExactType | back to summary |
|---|---|
| private static final byte NF_checkVarHandleExactType | |
| NF_checkVarHandleGenericType | back to summary |
|---|---|
| private static final byte NF_checkVarHandleGenericType | |
| NF_directVarHandleTarget | back to summary |
|---|---|
| private static final byte NF_directVarHandleTarget | |
| NF_getCallSiteTarget | back to summary |
|---|---|
| private static final byte NF_getCallSiteTarget | |
| NF_LIMIT | back to summary |
|---|---|
| private static final byte NF_LIMIT | |
| NFS | back to summary |
|---|---|
| private static final LambdaForm. | |
| targetType | back to summary |
|---|---|
| private final MethodType targetType | |
| VH_INV_EXACT | back to summary |
|---|---|
| pack-priv static final int VH_INV_EXACT | |
| VH_INV_GENERIC | back to summary |
|---|---|
| pack-priv static final int VH_INV_GENERIC | |
| Invokers | back to summary |
|---|---|
| pack-priv Invokers(MethodType targetType) Compute and cache information common to all collecting adapters that implement members of the erasure-family of the given erased type. | |
| basicInvoker | back to summary |
|---|---|
| pack-priv MethodHandle basicInvoker() | |
| cachedInvoker | back to summary |
|---|---|
| private MethodHandle cachedInvoker(int idx) | |
| cachedVHInvoker | back to summary |
|---|---|
| private MethodHandle cachedVHInvoker(boolean isExact, VarHandle. | |
| callSiteForm | back to summary |
|---|---|
| pack-priv static LambdaForm callSiteForm(MethodType mtype, boolean skipCallSite) | |
| checkCustomized | back to summary |
|---|---|
pack-priv static void checkCustomized(MethodHandle mh)
| |
| checkExactType | back to summary |
|---|---|
| pack-priv static void checkExactType(MethodHandle mh, MethodType expected) Static definition of MethodHandle.invokeExact checking code.
| |
| checkGenericType | back to summary |
|---|---|
| pack-priv static MethodHandle checkGenericType(MethodHandle mh, MethodType expected) Static definition of MethodHandle.invokeGeneric checking code.
Directly returns the type-adjusted MH to invoke, as follows:
| |
| checkInvoker | back to summary |
|---|---|
| private boolean checkInvoker(MethodHandle invoker) | |
| checkVarHandleExactType | back to summary |
|---|---|
pack-priv static MethodHandle checkVarHandleExactType(VarHandle handle, VarHandle.
| |
| checkVarHandleGenericType | back to summary |
|---|---|
pack-priv static MethodHandle checkVarHandleGenericType(VarHandle handle, VarHandle.
| |
| checkVarHandleInvoker | back to summary |
|---|---|
| private boolean checkVarHandleInvoker(MethodHandle invoker) | |
| createFunction | back to summary |
|---|---|
| private static LambdaForm. | |
| directVarHandleTarget | back to summary |
|---|---|
pack-priv static VarHandle directVarHandleTarget(VarHandle handle)
| |
| exactInvoker | back to summary |
|---|---|
| pack-priv MethodHandle exactInvoker() | |
| genericInvoker | back to summary |
|---|---|
| pack-priv MethodHandle genericInvoker() | |
| getCallSiteTarget | back to summary |
|---|---|
| pack-priv static MethodHandle getCallSiteTarget(CallSite site) Static definition of MethodHandle.invokeGeneric checking code.
| |
| getFunction | back to summary |
|---|---|
| private static LambdaForm. | |
| getNamedFunction | back to summary |
|---|---|
| private static LambdaForm. | |
| impliedRestargType | back to summary |
|---|---|
| private static Class | |
| invokeBasicMethod | back to summary |
|---|---|
| pack-priv static MemberName invokeBasicMethod(MethodType basicType) | |
| invokeHandleForm | back to summary |
|---|---|
| pack-priv static LambdaForm invokeHandleForm(MethodType mtype, boolean customized, int which) Returns an adapter for invokeExact or generic invoke, as a MH or constant pool linker. If !customized, caller is responsible for supplying, during adapter execution, a copy of the exact mtype. This is because the adapter might be generalized to a basic type.
| |
| linkToCallSiteMethod | back to summary |
|---|---|
| pack-priv static MemberName linkToCallSiteMethod(MethodType mtype) | |
| linkToTargetMethod | back to summary |
|---|---|
| pack-priv static MemberName linkToTargetMethod(MethodType mtype) | |
| makeExactOrGeneralInvoker | back to summary |
|---|---|
| private MethodHandle makeExactOrGeneralInvoker(boolean isExact) | |
| makeVarHandleMethodInvoker | back to summary |
|---|---|
| private MethodHandle makeVarHandleMethodInvoker(VarHandle. | |
| maybeCompileToBytecode | back to summary |
|---|---|
| private void maybeCompileToBytecode(MethodHandle invoker) If the target type seems to be common enough, eagerly compile the invoker to bytecodes. | |
| maybeCustomize | back to summary |
|---|---|
pack-priv static void maybeCustomize(MethodHandle mh)
| |
| methodHandleInvokeLinkerMethod | back to summary |
|---|---|
| pack-priv static MemberName methodHandleInvokeLinkerMethod(String name, MethodType mtype, Object[] appendixResult) | |
| newWrongMethodTypeException | back to summary |
|---|---|
| pack-priv static WrongMethodTypeException newWrongMethodTypeException(MethodType targetType, MethodType callSiteType) | |
| setCachedInvoker | back to summary |
|---|---|
| private synchronized MethodHandle setCachedInvoker(int idx, final MethodHandle invoker) | |
| setCachedVHInvoker | back to summary |
|---|---|
| private MethodHandle setCachedVHInvoker(boolean isExact, VarHandle. | |
| spreadInvoker | back to summary |
|---|---|
| pack-priv MethodHandle spreadInvoker(int leadingArgCount) Find or create an invoker which passes unchanged a given number of arguments
and spreads the rest from a trailing array argument.
The invoker target type is the post-spread type
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non- | |
| varHandleInvokeLinkerMethod | back to summary |
|---|---|
| pack-priv static MemberName varHandleInvokeLinkerMethod(MethodType mtype) | |
| varHandleMethodExactInvoker | back to summary |
|---|---|
| pack-priv MethodHandle varHandleMethodExactInvoker(VarHandle. | |
| varHandleMethodGenericLinkerHandleForm | back to summary |
|---|---|
| private static LambdaForm varHandleMethodGenericLinkerHandleForm(MethodType mtype) | |
| varHandleMethodInvoker | back to summary |
|---|---|
| pack-priv MethodHandle varHandleMethodInvoker(VarHandle. | |
| varHandleMethodInvokerHandleForm | back to summary |
|---|---|
| private static LambdaForm varHandleMethodInvokerHandleForm(MethodType mtype, boolean isExact) | |
This class may be substituted in the JDK's modules image, or in an AOT
cache, by a version generated by GenerateJLIClassesHelper.
The method names of this class are internal tokens recognized by
InvokerBytecodeGenerator#lookupPregenerated and are subject to change.
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Holder | back to summary |
|---|---|
| pack-priv Holder() | |
| Modifier and Type | Field and Description |
|---|---|
| private static final MethodHandle |
| Access | Constructor and Description |
|---|---|
| private |
| MH_asSpreader | back to summary |
|---|---|
| private static final MethodHandle MH_asSpreader | |
| Lazy | back to summary |
|---|---|
| private Lazy() | |