For an empirical discussion of the structure of method types, see the thread "Avoiding Boxing" on jvm-languages. There are approximately 2000 distinct erased method types in the JDK. There are a little over 10 times that number of unerased types. No more than half of these are likely to be loaded at once.
| Modifier and Type | Field and Description |
|---|---|
| pack-priv final MethodType | |
| public static final int | ERASE
Codes for |
| pack-priv final MethodType | |
| private SoftReference | |
| private final SoftReference | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| private final SoftReference | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| pack-priv final short | |
| pack-priv final short | |
| public static final int | UNWRAP
Codes for |
| public static final int | WRAP
Codes for |
| Access | Constructor and Description |
|---|---|
| protected | MethodTypeForm(MethodType erasedType)
Build an MTF for a given type, which must have all references erased to Object. |
| Modifier and Type | Method and Description |
|---|---|
| public MethodType | |
| public MemberName | |
| public LambdaForm | |
| public MethodHandle | |
| public static MethodType | |
| pack-priv static Class | |
| pack-priv static Class | |
| public MethodType | |
| pack-priv static MethodTypeForm | |
| public boolean | |
| public int | |
| public int | |
| public synchronized MemberName | |
| public synchronized LambdaForm | |
| public synchronized MethodHandle | |
| public String |
| basicType | back to summary |
|---|---|
| pack-priv final MethodType basicType | |
| ERASE | back to summary |
|---|---|
| public static final int ERASE Codes for | |
| erasedType | back to summary |
|---|---|
| pack-priv final MethodType erasedType | |
| interpretEntry | back to summary |
|---|---|
| private SoftReference<MemberName> interpretEntry | |
| lambdaForms | back to summary |
|---|---|
| private final SoftReference<LambdaForm>[] lambdaForms | |
| LF_COLLECTOR | back to summary |
|---|---|
| pack-priv static final int LF_COLLECTOR | |
| LF_CS_LINKER | back to summary |
|---|---|
| pack-priv static final int LF_CS_LINKER | |
| LF_DELEGATE | back to summary |
|---|---|
| pack-priv static final int LF_DELEGATE | |
| LF_DELEGATE_BLOCK_INLINING | back to summary |
|---|---|
| pack-priv static final int LF_DELEGATE_BLOCK_INLINING | |
| LF_EX_INVOKER | back to summary |
|---|---|
| pack-priv static final int LF_EX_INVOKER | |
| LF_EX_LINKER | back to summary |
|---|---|
| pack-priv static final int LF_EX_LINKER | |
| LF_GEN_INVOKER | back to summary |
|---|---|
| pack-priv static final int LF_GEN_INVOKER | |
| LF_GEN_LINKER | back to summary |
|---|---|
| pack-priv static final int LF_GEN_LINKER | |
| LF_GWC | back to summary |
|---|---|
| pack-priv static final int LF_GWC | |
| LF_GWT | back to summary |
|---|---|
| pack-priv static final int LF_GWT | |
| LF_INVINTERFACE | back to summary |
|---|---|
| pack-priv static final int LF_INVINTERFACE | |
| LF_INVNATIVE | back to summary |
|---|---|
| pack-priv static final int LF_INVNATIVE | |
| LF_INVSPECIAL | back to summary |
|---|---|
| pack-priv static final int LF_INVSPECIAL | |
| LF_INVSPECIAL_IFC | back to summary |
|---|---|
| pack-priv static final int LF_INVSPECIAL_IFC | |
| LF_INVSTATIC | back to summary |
|---|---|
| pack-priv static final int LF_INVSTATIC | |
| LF_INVSTATIC_INIT | back to summary |
|---|---|
| pack-priv static final int LF_INVSTATIC_INIT | |
| LF_INVVIRTUAL | back to summary |
|---|---|
| pack-priv static final int LF_INVVIRTUAL | |
| LF_LIMIT | back to summary |
|---|---|
| pack-priv static final int LF_LIMIT | |
| LF_LOOP | back to summary |
|---|---|
| pack-priv static final int LF_LOOP | |
| LF_MH_LINKER | back to summary |
|---|---|
| pack-priv static final int LF_MH_LINKER | |
| LF_NEWINVSPECIAL | back to summary |
|---|---|
| pack-priv static final int LF_NEWINVSPECIAL | |
| LF_REBIND | back to summary |
|---|---|
| pack-priv static final int LF_REBIND | |
| LF_TF | back to summary |
|---|---|
| pack-priv static final int LF_TF | |
| LF_VH_EX_INVOKER | back to summary |
|---|---|
| pack-priv static final int LF_VH_EX_INVOKER | |
| LF_VH_GEN_INVOKER | back to summary |
|---|---|
| pack-priv static final int LF_VH_GEN_INVOKER | |
| LF_VH_GEN_LINKER | back to summary |
|---|---|
| pack-priv static final int LF_VH_GEN_LINKER | |
| methodHandles | back to summary |
|---|---|
| private final SoftReference<MethodHandle>[] methodHandles | |
| MH_BASIC_INV | back to summary |
|---|---|
| pack-priv static final int MH_BASIC_INV | |
| MH_LIMIT | back to summary |
|---|---|
| pack-priv static final int MH_LIMIT | |
| MH_NF_INV | back to summary |
|---|---|
| pack-priv static final int MH_NF_INV | |
| MH_UNINIT_CS | back to summary |
|---|---|
| pack-priv static final int MH_UNINIT_CS | |
| parameterSlotCount | back to summary |
|---|---|
| pack-priv final short parameterSlotCount | |
| primitiveCount | back to summary |
|---|---|
| pack-priv final short primitiveCount | |
| UNWRAP | back to summary |
|---|---|
| public static final int UNWRAP Codes for | |
| WRAP | back to summary |
|---|---|
| public static final int WRAP Codes for | |
| MethodTypeForm | back to summary |
|---|---|
| protected MethodTypeForm(MethodType erasedType) Build an MTF for a given type, which must have all references erased to Object. This MTF will stand for that type and all un-erased variations. Eagerly compute some basic properties of the type, common to all variations.
| |
| basicType | back to summary |
|---|---|
| public MethodType basicType() Return the basic type derived from the erased type of this MT-form. A basic type is erased (all references Object) and also has all primitive types (except int, long, float, double, void) normalized to int. Such basic types correspond to low-level JVM calling sequences. | |
| cachedInterpretEntry | back to summary |
|---|---|
| public MemberName cachedInterpretEntry() | |
| cachedLambdaForm | back to summary |
|---|---|
| public LambdaForm cachedLambdaForm(int which) | |
| cachedMethodHandle | back to summary |
|---|---|
| public MethodHandle cachedMethodHandle(int which) | |
| canonicalize | back to summary |
|---|---|
| public static MethodType canonicalize(MethodType mt, int how) Canonicalize the types in the given method type. If any types change, intern the new type, and return it. Otherwise return null. | |
| canonicalize | back to summary |
|---|---|
| pack-priv static Class Canonicalize the given return or param type. Return null if the type is already canonicalized. | |
| canonicalizeAll | back to summary |
|---|---|
| pack-priv static Class Canonicalize each param type in the given array. Return null if all types are already canonicalized. | |
| erasedType | back to summary |
|---|---|
| public MethodType erasedType() Return the type corresponding uniquely (1-1) to this MT-form. It might have any primitive returns or arguments, but will have no references except Object. | |
| findForm | back to summary |
|---|---|
| pack-priv static MethodTypeForm findForm(MethodType mt) | |
| hasPrimitives | back to summary |
|---|---|
| public boolean hasPrimitives() | |
| parameterCount | back to summary |
|---|---|
| public int parameterCount() | |
| parameterSlotCount | back to summary |
|---|---|
| public int parameterSlotCount() | |
| setCachedInterpretEntry | back to summary |
|---|---|
| public synchronized MemberName setCachedInterpretEntry(MemberName mn) | |
| setCachedLambdaForm | back to summary |
|---|---|
| public synchronized LambdaForm setCachedLambdaForm(int which, LambdaForm form) | |
| setCachedMethodHandle | back to summary |
|---|---|
| public synchronized MethodHandle setCachedMethodHandle(int which, MethodHandle mh) | |
| 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-
| |