abstract class java.lang.invoke.MethodHandleImpl
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: java.lang.invoke.MethodHandleImpl
super_class: java.lang.Object
{
static java.lang.invoke.MethodHandle[] FAKE_METHOD_HANDLE_INVOKE;
descriptor: [Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
private static final java.lang.Object[] NO_ARGS_ARRAY;
descriptor: [Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int ARRAYS_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final java.lang.invoke.MethodHandle[] ARRAYS;
descriptor: [Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
private static final int FILL_ARRAYS_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final java.lang.invoke.MethodHandle[] FILL_ARRAYS;
descriptor: [Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
private static final int LEFT_ARGS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final java.lang.invoke.MethodHandle[] FILL_ARRAY_TO_RIGHT;
descriptor: [Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
static final int MAX_JVM_ARITY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 255
static final byte NF_checkSpreadArgument;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final byte NF_guardWithCatch;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final byte NF_throwException;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final byte NF_tryFinally;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final byte NF_loop;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final byte NF_profileBoolean;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final byte NF_LIMIT;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final java.lang.invoke.LambdaForm$NamedFunction[] NFS;
descriptor: [Ljava/lang/invoke/LambdaForm$NamedFunction;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
static final int MH_cast;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int MH_selectAlternative;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int MH_copyAsPrimitiveArray;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int MH_fillNewTypedArray;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int MH_fillNewArray;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int MH_arrayIdentity;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final int MH_countedLoopPred;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
static final int MH_countedLoopStep;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 7
static final int MH_initIterator;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final int MH_iteratePred;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 9
static final int MH_iterateNext;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 10
static final int MH_Array_newInstance;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 11
static final int MH_LIMIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final java.lang.invoke.MethodHandle[] HANDLES;
descriptor: [Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Ljava/lang/invoke/MethodHandleImpl;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
3: iconst_2
anewarray java.lang.invoke.MethodHandle
putstatic java.lang.invoke.MethodHandleImpl.FAKE_METHOD_HANDLE_INVOKE:[Ljava/lang/invoke/MethodHandle;
4: iconst_0
anewarray java.lang.Object
putstatic java.lang.invoke.MethodHandleImpl.NO_ARGS_ARRAY:[Ljava/lang/Object;
5: getstatic java.lang.invoke.MethodHandleStatics.MAX_ARITY:I
iconst_1
iadd
anewarray java.lang.invoke.MethodHandle
putstatic java.lang.invoke.MethodHandleImpl.ARRAYS:[Ljava/lang/invoke/MethodHandle;
6: bipush 11
anewarray java.lang.invoke.MethodHandle
putstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAYS:[Ljava/lang/invoke/MethodHandle;
7: getstatic java.lang.invoke.MethodHandleStatics.MAX_ARITY:I
iconst_1
iadd
anewarray java.lang.invoke.MethodHandle
putstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
8: bipush 6
anewarray java.lang.invoke.LambdaForm$NamedFunction
putstatic java.lang.invoke.MethodHandleImpl.NFS:[Ljava/lang/invoke/LambdaForm$NamedFunction;
9: new java.lang.invoke.MethodHandleImpl$1
dup
invokespecial java.lang.invoke.MethodHandleImpl$1.<init>:()V
invokestatic jdk.internal.misc.SharedSecrets.setJavaLangInvokeAccess:(Ljdk/internal/misc/JavaLangInvokeAccess;)V
10: bipush 12
anewarray java.lang.invoke.MethodHandle
putstatic java.lang.invoke.MethodHandleImpl.HANDLES:[Ljava/lang/invoke/MethodHandle;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/MethodHandleImpl;
static java.lang.invoke.MethodHandle makeArrayElementAccessor(java.lang.Class<?>, java.lang.invoke.MethodHandleImpl$ArrayAccess);
descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
ldc [Ljava/lang/Object;
if_acmpne 2
1: aload 1
invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccess.objectAccessor:(Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifne 4
3: new java.lang.StringBuilder
dup
ldc "not an array: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
4: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.TYPED_ACCESSORS:Ljava/lang/ClassValue;
aload 0
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.invoke.MethodHandle[]
astore 2
start local 2 5: aload 1
invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccess.cacheIndex:(Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)I
istore 3
start local 3 6: aload 2
iload 3
aaload
astore 4
start local 4 7: aload 4
ifnull 8
aload 4
areturn
8: StackMap locals: java.lang.invoke.MethodHandle[] int java.lang.invoke.MethodHandle
StackMap stack:
aload 0
aload 1
invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.getAccessor:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
astore 4
9: aload 0
aload 1
invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.correctType:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodType;
astore 5
start local 5 10: aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 5
if_acmpeq 18
11: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 12
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
ldc [Ljava/lang/Object;
if_acmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 13
aload 1
getstatic java.lang.invoke.MethodHandleImpl$ArrayAccess.SET:Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
if_acmpne 13
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iconst_2
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
ldc Ljava/lang/Object;
if_acmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 17
aload 1
getstatic java.lang.invoke.MethodHandleImpl$ArrayAccess.GET:Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
if_acmpne 17
14: aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
ldc Ljava/lang/Object;
if_acmpne 16
15: aload 5
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
aload 5
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
if_acmpeq 17
StackMap locals:
StackMap stack:
16: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 4
aload 5
iconst_0
invokevirtual java.lang.invoke.MethodHandle.viewAsType:(Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
astore 4
18: StackMap locals:
StackMap stack:
aload 4
aload 1
invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccess.intrinsic:(Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokestatic java.lang.invoke.MethodHandleImpl.makeIntrinsic:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
astore 4
19: aload 2
dup
astore 6
monitorenter
20: aload 2
iload 3
aaload
ifnonnull 23
21: aload 2
iload 3
aload 4
aastore
22: goto 24
23: StackMap locals: java.lang.invoke.MethodHandle[]
StackMap stack:
aload 2
iload 3
aaload
astore 4
24: StackMap locals:
StackMap stack:
aload 6
monitorexit
25: goto 28
StackMap locals:
StackMap stack: java.lang.Throwable
26: aload 6
monitorexit
27: athrow
28: StackMap locals:
StackMap stack:
aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 arrayClass Ljava/lang/Class<*>;
0 29 1 access Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
5 29 2 cache [Ljava/lang/invoke/MethodHandle;
6 29 3 cacheIndex I
7 29 4 mh Ljava/lang/invoke/MethodHandle;
10 29 5 correctType Ljava/lang/invoke/MethodType;
Exception table:
from to target type
20 25 26 any
26 27 26 any
Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
arrayClass
access
static java.lang.InternalError unmatchedArrayAccess(java.lang.invoke.MethodHandleImpl$ArrayAccess);
descriptor: (Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/InternalError;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "should not reach here (unmatched ArrayAccess: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
MethodParameters:
Name Flags
a
static java.lang.invoke.MethodHandle makePairwiseConvert(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean, boolean);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 4
start local 4 1: aload 1
aload 4
if_acmpne 3
2: aload 0
areturn
3: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokestatic java.lang.invoke.MethodHandleImpl.makePairwiseConvertByEditor:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 target Ljava/lang/invoke/MethodHandle;
0 4 1 srcType Ljava/lang/invoke/MethodType;
0 4 2 strict Z
0 4 3 monobox Z
1 4 4 dstType Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
target
srcType
strict
monobox
private static int countNonNull(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
ifnull 4
iinc 1 1
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 array [Ljava/lang/Object;
1 7 1 count I
3 4 2 x Ljava/lang/Object;
MethodParameters:
Name Flags
array
static java.lang.invoke.MethodHandle makePairwiseConvertByEditor(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean, boolean);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iload 2
iload 3
invokestatic java.lang.invoke.MethodHandleImpl.computeValueConversions:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;ZZ)[Ljava/lang/Object;
astore 4
start local 4 1: aload 4
invokestatic java.lang.invoke.MethodHandleImpl.countNonNull:([Ljava/lang/Object;)I
istore 5
start local 5 2: iload 5
ifne 4
3: aload 0
aload 1
iload 2
invokevirtual java.lang.invoke.MethodHandle.viewAsType:(Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
areturn
4: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 1
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 6
start local 6 5: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 7
start local 7 6: aload 0
invokevirtual java.lang.invoke.MethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
astore 8
start local 8 7: iconst_0
istore 9
start local 9 8: goto 23
9: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.BoundMethodHandle int
StackMap stack:
aload 4
iload 9
aaload
astore 10
start local 10 10: aload 10
ifnonnull 11
goto 22
11: StackMap locals: java.lang.Object
StackMap stack:
aload 10
instanceof java.lang.Class
ifeq 14
12: iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
aload 10
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 11
start local 11 13: goto 15
end local 11 14: StackMap locals:
StackMap stack:
aload 10
checkcast java.lang.invoke.MethodHandle
astore 11
start local 11 15: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aload 6
iload 9
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 12
start local 12 16: iinc 5 -1
iload 5
ifne 18
17: aload 1
astore 7
goto 19
18: StackMap locals: java.lang.Class
StackMap stack:
aload 7
iload 9
aload 12
invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 7
19: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
iconst_1
iload 9
iadd
aload 12
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaFormEditor.filterArgumentForm:(ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
astore 13
start local 13 20: aload 8
aload 7
aload 13
aload 11
invokevirtual java.lang.invoke.BoundMethodHandle.copyWithExtendL:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
astore 8
21: aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
astore 8
end local 13 end local 12 end local 11 end local 10 22: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
23: iload 9
aload 4
arraylength
iconst_1
isub
if_icmplt 9
end local 9 24: aload 4
aload 4
arraylength
iconst_1
isub
aaload
astore 9
start local 9 25: aload 9
ifnull 43
26: aload 9
instanceof java.lang.Class
ifeq 32
27: aload 9
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 30
28: aconst_null
astore 10
start local 10 29: goto 33
end local 10 30: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.BoundMethodHandle java.lang.Object
StackMap stack:
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
aload 9
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 10
start local 10 31: goto 33
end local 10 32: StackMap locals:
StackMap stack:
aload 9
checkcast java.lang.invoke.MethodHandle
astore 10
start local 10 33: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aload 6
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 11
start local 11 34: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 35
iinc 5 -1
iload 5
ifeq 35
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: StackMap locals: java.lang.Class
StackMap stack:
aload 1
astore 7
36: aload 10
ifnull 41
37: aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
astore 8
38: aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
aload 11
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
iconst_0
invokevirtual java.lang.invoke.LambdaFormEditor.filterReturnForm:(Ljava/lang/invoke/LambdaForm$BasicType;Z)Ljava/lang/invoke/LambdaForm;
astore 12
start local 12 39: aload 8
aload 7
aload 12
aload 10
invokevirtual java.lang.invoke.BoundMethodHandle.copyWithExtendL:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
astore 8
end local 12 40: goto 43
41: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
aload 11
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
iconst_1
invokevirtual java.lang.invoke.LambdaFormEditor.filterReturnForm:(Ljava/lang/invoke/LambdaForm$BasicType;Z)Ljava/lang/invoke/LambdaForm;
astore 12
start local 12 42: aload 8
aload 7
aload 12
invokevirtual java.lang.invoke.BoundMethodHandle.copyWith:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
astore 8
end local 12 end local 11 end local 10 43: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 44
iload 5
ifeq 44
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
44: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 45
aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 1
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifne 45
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
45: StackMap locals:
StackMap stack:
aload 8
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 target Ljava/lang/invoke/MethodHandle;
0 46 1 srcType Ljava/lang/invoke/MethodType;
0 46 2 strict Z
0 46 3 monobox Z
1 46 4 convSpecs [Ljava/lang/Object;
2 46 5 convCount I
5 46 6 basicSrcType Ljava/lang/invoke/MethodType;
6 46 7 midType Ljava/lang/invoke/MethodType;
7 46 8 mh Ljava/lang/invoke/BoundMethodHandle;
8 24 9 i I
10 22 10 convSpec Ljava/lang/Object;
13 14 11 fn Ljava/lang/invoke/MethodHandle;
15 22 11 fn Ljava/lang/invoke/MethodHandle;
16 22 12 newType Ljava/lang/Class<*>;
20 22 13 form2 Ljava/lang/invoke/LambdaForm;
25 46 9 convSpec Ljava/lang/Object;
29 30 10 fn Ljava/lang/invoke/MethodHandle;
31 32 10 fn Ljava/lang/invoke/MethodHandle;
33 43 10 fn Ljava/lang/invoke/MethodHandle;
34 43 11 newType Ljava/lang/Class<*>;
39 40 12 form2 Ljava/lang/invoke/LambdaForm;
42 43 12 form2 Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
target
srcType
strict
monobox
static java.lang.invoke.MethodHandle makePairwiseConvertIndirect(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean, boolean);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=22, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 1
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iload 2
iload 3
invokestatic java.lang.invoke.MethodHandleImpl.computeValueConversions:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;ZZ)[Ljava/lang/Object;
astore 4
start local 4 2: aload 1
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 5
start local 5 3: aload 4
invokestatic java.lang.invoke.MethodHandleImpl.countNonNull:([Ljava/lang/Object;)I
istore 6
start local 6 4: aload 4
iload 5
aaload
ifnull 5
iconst_1
goto 6
StackMap locals: java.lang.Object[] int int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 7
start local 7 7: aload 1
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 8
iconst_1
goto 9
StackMap locals: int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 8
start local 8 10: iload 7
ifeq 13
iload 8
ifeq 13
11: iinc 6 -1
12: iconst_0
istore 7
13: StackMap locals: int
StackMap stack:
iconst_1
iload 5
iadd
istore 9
start local 9 14: iload 9
iload 6
iadd
iconst_1
iadd
istore 10
start local 10 15: iload 7
ifne 16
iconst_m1
goto 17
StackMap locals: int int
StackMap stack:
16: iload 10
iconst_1
isub
StackMap locals:
StackMap stack: int
17: istore 11
start local 11 18: iload 7
ifne 19
iload 10
goto 20
StackMap locals: int
StackMap stack:
19: iload 11
StackMap locals:
StackMap stack: int
20: iconst_1
isub
istore 12
start local 12 21: iload 8
ifeq 22
iconst_m1
goto 23
StackMap locals: int
StackMap stack:
22: iload 10
iconst_1
isub
StackMap locals:
StackMap stack: int
23: istore 13
start local 13 24: aload 1
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
astore 14
start local 14 25: iload 10
iload 9
isub
aload 14
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 15
start local 15 26: iconst_0
iload 5
iadd
anewarray java.lang.Object
astore 16
start local 16 27: iload 9
istore 17
start local 17 28: iconst_0
istore 18
start local 18 29: goto 45
30: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int int int int int int int int int java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] java.lang.Object[] int int
StackMap stack:
aload 4
iload 18
aaload
astore 19
start local 19 31: aload 19
ifnonnull 34
32: aload 16
iconst_0
iload 18
iadd
aload 15
iconst_1
iload 18
iadd
aaload
aastore
33: goto 44
34: StackMap locals: java.lang.Object
StackMap stack:
aload 19
instanceof java.lang.Class
ifeq 38
35: aload 19
checkcast java.lang.Class
astore 21
start local 21 36: new java.lang.invoke.LambdaForm$Name
dup
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 21
aastore
dup
iconst_1
aload 15
iconst_1
iload 18
iadd
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
astore 20
end local 21 start local 20 37: goto 40
end local 20 38: StackMap locals:
StackMap stack:
aload 19
checkcast java.lang.invoke.MethodHandle
astore 21
start local 21 39: new java.lang.invoke.LambdaForm$Name
dup
aload 21
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_1
iload 18
iadd
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
astore 20
end local 21 start local 20 40: StackMap locals: java.lang.invoke.LambdaForm$Name
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 41
aload 15
iload 17
aaload
ifnull 41
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
41: StackMap locals:
StackMap stack:
aload 15
iload 17
iinc 17 1
aload 20
aastore
42: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 43
aload 16
iconst_0
iload 18
iadd
aaload
ifnull 43
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
43: StackMap locals:
StackMap stack:
aload 16
iconst_0
iload 18
iadd
aload 20
aastore
end local 20 end local 19 44: StackMap locals:
StackMap stack:
iinc 18 1
StackMap locals:
StackMap stack:
45: iload 18
iload 5
if_icmplt 30
end local 18 46: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 47
iload 17
iload 12
if_icmpeq 47
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
47: StackMap locals:
StackMap stack:
aload 15
iload 12
new java.lang.invoke.LambdaForm$Name
dup
aload 0
aload 16
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
aastore
48: aload 4
iload 5
aaload
astore 18
start local 18 49: iload 7
ifne 51
50: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 66
iload 12
aload 15
arraylength
iconst_1
isub
if_icmpeq 66
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
51: StackMap locals: java.lang.Object
StackMap stack:
aload 18
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 54
52: new java.lang.invoke.LambdaForm$Name
dup
aload 1
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
invokestatic java.lang.invoke.LambdaForm.constantZero:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_0
anewarray java.lang.Object
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
astore 19
start local 19 53: goto 63
end local 19 StackMap locals:
StackMap stack:
54: aload 18
instanceof java.lang.Class
ifeq 58
55: aload 18
checkcast java.lang.Class
astore 20
start local 20 56: new java.lang.invoke.LambdaForm$Name
dup
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 20
aastore
dup
iconst_1
aload 15
iload 12
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
astore 19
end local 20 start local 19 57: goto 63
end local 19 58: StackMap locals:
StackMap stack:
aload 18
checkcast java.lang.invoke.MethodHandle
astore 20
start local 20 59: aload 20
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
ifne 62
60: new java.lang.invoke.LambdaForm$Name
dup
aload 20
iconst_0
anewarray java.lang.Object
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
astore 19
start local 19 61: goto 63
end local 19 62: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int int int int int int int int int java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] java.lang.Object[] int java.lang.Object top java.lang.invoke.MethodHandle
StackMap stack:
new java.lang.invoke.LambdaForm$Name
dup
aload 20
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iload 12
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
astore 19
end local 20 start local 19 63: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int int int int int int int int int java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] java.lang.Object[] int java.lang.Object java.lang.invoke.LambdaForm$Name
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 64
aload 15
iload 11
aaload
ifnull 64
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
64: StackMap locals:
StackMap stack:
aload 15
iload 11
aload 19
aastore
65: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 66
iload 11
aload 15
arraylength
iconst_1
isub
if_icmpeq 66
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 19 66: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaForm
dup
aload 14
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 15
iload 13
getstatic java.lang.invoke.LambdaForm$Kind.CONVERT:Ljava/lang/invoke/LambdaForm$Kind;
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;ILjava/lang/invoke/LambdaForm$Kind;)V
astore 19
start local 19 67: aload 1
aload 19
invokestatic java.lang.invoke.SimpleMethodHandle.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 target Ljava/lang/invoke/MethodHandle;
0 68 1 srcType Ljava/lang/invoke/MethodType;
0 68 2 strict Z
0 68 3 monobox Z
2 68 4 convSpecs [Ljava/lang/Object;
3 68 5 INARG_COUNT I
4 68 6 convCount I
7 68 7 retConv Z
10 68 8 retVoid Z
14 68 9 INARG_LIMIT I
15 68 10 NAME_LIMIT I
18 68 11 RETURN_CONV I
21 68 12 OUT_CALL I
24 68 13 RESULT I
25 68 14 lambdaType Ljava/lang/invoke/MethodType;
26 68 15 names [Ljava/lang/invoke/LambdaForm$Name;
27 68 16 outArgs [Ljava/lang/Object;
28 68 17 nameCursor I
29 46 18 i I
31 44 19 convSpec Ljava/lang/Object;
37 38 20 conv Ljava/lang/invoke/LambdaForm$Name;
40 44 20 conv Ljava/lang/invoke/LambdaForm$Name;
36 37 21 convClass Ljava/lang/Class<*>;
39 40 21 fn Ljava/lang/invoke/MethodHandle;
49 68 18 convSpec Ljava/lang/Object;
53 54 19 conv Ljava/lang/invoke/LambdaForm$Name;
57 58 19 conv Ljava/lang/invoke/LambdaForm$Name;
61 62 19 conv Ljava/lang/invoke/LambdaForm$Name;
63 66 19 conv Ljava/lang/invoke/LambdaForm$Name;
56 57 20 convClass Ljava/lang/Class<*>;
59 63 20 fn Ljava/lang/invoke/MethodHandle;
67 68 19 form Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
target
srcType
strict
monobox
static java.lang.Object[] computeValueConversions(java.lang.invoke.MethodType, java.lang.invoke.MethodType, boolean, boolean);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;ZZ)[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 4
start local 4 1: iload 4
iconst_1
iadd
anewarray java.lang.Object
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 16
4: StackMap locals: int java.lang.Object[] int
StackMap stack:
iload 6
iload 4
if_icmpne 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 7
start local 7 7: iload 7
ifeq 8
aload 1
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
goto 9
StackMap locals: int
StackMap stack:
8: aload 0
iload 6
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
9: astore 8
start local 8 10: iload 7
ifeq 11
aload 0
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
goto 12
StackMap locals: java.lang.Class
StackMap stack:
11: aload 1
iload 6
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
12: astore 9
start local 9 13: aload 8
aload 9
iload 2
invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ifne 15
14: aload 5
iload 6
aload 8
aload 9
iload 2
iload 3
invokestatic java.lang.invoke.MethodHandleImpl.valueConversion:(Ljava/lang/Class;Ljava/lang/Class;ZZ)Ljava/lang/Object;
aastore
end local 9 end local 8 end local 7 15: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 4
if_icmple 4
end local 6 17: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 srcType Ljava/lang/invoke/MethodType;
0 18 1 dstType Ljava/lang/invoke/MethodType;
0 18 2 strict Z
0 18 3 monobox Z
1 18 4 INARG_COUNT I
2 18 5 convSpecs [Ljava/lang/Object;
3 17 6 i I
7 15 7 isRet Z
10 15 8 src Ljava/lang/Class<*>;
13 15 9 dst Ljava/lang/Class<*>;
MethodParameters:
Name Flags
srcType
dstType
strict
monobox
static java.lang.invoke.MethodHandle makePairwiseConvert(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.makePairwiseConvert:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 target Ljava/lang/invoke/MethodHandle;
0 1 1 srcType Ljava/lang/invoke/MethodType;
0 1 2 strict Z
MethodParameters:
Name Flags
target
srcType
strict
static valueConversion(java.lang.Class<?>, java.lang.Class<?>, boolean, boolean);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;ZZ)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
iload 2
invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 3
2: aload 1
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 19
4: aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 6
5: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 9
7: aload 0
aload 1
invokestatic sun.invoke.util.ValueConversions.convertPrimitive:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 4
start local 4 8: goto 30
end local 4 9: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 5
start local 5 10: aload 5
invokestatic sun.invoke.util.ValueConversions.boxExact:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
astore 4
start local 4 11: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 12
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
aload 5
invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
if_acmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: java.lang.invoke.MethodHandle sun.invoke.util.Wrapper
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 13
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
aload 5
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
if_acmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
aload 1
iload 2
invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ifne 30
14: aload 1
aload 0
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 6
start local 6 15: iload 2
ifeq 17
16: aload 4
aload 6
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 4
goto 30
17: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
aload 4
aload 6
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.makePairwiseConvert:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
astore 4
end local 6 end local 5 18: goto 30
end local 4 StackMap locals:
StackMap stack:
19: aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 29
20: aload 1
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 5
start local 5 21: iload 3
ifne 22
aload 0
aload 5
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
if_acmpne 24
22: StackMap locals: java.lang.Class java.lang.Class int int top sun.invoke.util.Wrapper
StackMap stack:
aload 5
iload 2
invokestatic sun.invoke.util.ValueConversions.unboxExact:(Lsun/invoke/util/Wrapper;Z)Ljava/lang/invoke/MethodHandle;
astore 4
start local 4 23: goto 30
end local 4 24: StackMap locals:
StackMap stack:
iload 2
ifeq 26
25: aload 5
invokestatic sun.invoke.util.ValueConversions.unboxWiden:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
goto 27
26: StackMap locals:
StackMap stack:
aload 5
invokestatic sun.invoke.util.ValueConversions.unboxCast:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
27: StackMap locals:
StackMap stack: java.lang.invoke.MethodHandle
astore 4
end local 5 start local 4 28: goto 30
end local 4 29: StackMap locals: java.lang.Class java.lang.Class int int
StackMap stack:
aload 1
areturn
start local 4 30: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 31
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iconst_1
if_icmple 31
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "pc"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 1
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 4
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
31: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 src Ljava/lang/Class<*>;
0 32 1 dst Ljava/lang/Class<*>;
0 32 2 strict Z
0 32 3 monobox Z
8 9 4 fn Ljava/lang/invoke/MethodHandle;
11 19 4 fn Ljava/lang/invoke/MethodHandle;
23 24 4 fn Ljava/lang/invoke/MethodHandle;
28 29 4 fn Ljava/lang/invoke/MethodHandle;
30 32 4 fn Ljava/lang/invoke/MethodHandle;
10 18 5 wsrc Lsun/invoke/util/Wrapper;
15 18 6 mt Ljava/lang/invoke/MethodType;
21 28 5 wdst Lsun/invoke/util/Wrapper;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;ZZ)Ljava/lang/Object;
MethodParameters:
Name Flags
src
dst
strict
monobox
static java.lang.invoke.MethodHandle makeVarargsCollector(java.lang.invoke.MethodHandle, java.lang.Class<?>);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iconst_1
isub
istore 3
start local 3 2: aload 2
iload 3
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
aload 1
if_acmpeq 4
3: aload 0
aload 2
iload 3
aload 1
invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 0
4: StackMap locals: java.lang.invoke.MethodType int
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MethodHandle.asFixedArity:()Ljava/lang/invoke/MethodHandle;
astore 0
5: new java.lang.invoke.MethodHandleImpl$AsVarargsCollector
dup
aload 0
aload 1
invokespecial java.lang.invoke.MethodHandleImpl$AsVarargsCollector.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 target Ljava/lang/invoke/MethodHandle;
0 6 1 arrayType Ljava/lang/Class<*>;
1 6 2 type Ljava/lang/invoke/MethodType;
2 6 3 last I
Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
target
arrayType
static java.lang.invoke.MethodHandle makeSpreadArguments(java.lang.invoke.MethodHandle, java.lang.Class<?>, int, int);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;II)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 7
3: StackMap locals: java.lang.invoke.MethodType int
StackMap stack:
aload 1
iload 5
invokestatic sun.invoke.util.VerifyType.spreadArgElementType:(Ljava/lang/Class;I)Ljava/lang/Class;
astore 6
start local 6 4: aload 6
ifnonnull 5
ldc Ljava/lang/Object;
astore 6
5: StackMap locals: java.lang.Class
StackMap stack:
aload 4
iload 2
iload 5
iadd
aload 6
invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 4
end local 6 6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 3
if_icmplt 3
end local 5 8: aload 0
aload 4
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 0
9: aload 4
10: iload 2
iload 2
iload 3
iadd
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 1
aastore
invokevirtual java.lang.invoke.MethodType.replaceParameterTypes:(II[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
11: astore 5
start local 5 12: aload 5
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
astore 6
start local 6 13: iload 3
iconst_2
iadd
aload 6
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 7
start local 7 14: aload 6
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 8
start local 8 15: aload 4
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
newarray 10
astore 9
start local 9 16: iconst_0
istore 10
start local 10 17: iconst_1
istore 11
start local 11 18: goto 34
19: StackMap locals: java.lang.invoke.MethodHandle java.lang.Class int int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] int int[] int int
StackMap stack:
aload 6
iload 10
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
pop
20: iload 10
iload 2
if_icmpne 31
21: aload 1
invokestatic java.lang.invoke.MethodHandles.arrayElementGetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 12
start local 12 22: aload 7
iload 11
aaload
astore 13
start local 13 23: aload 7
iload 8
iinc 8 1
new java.lang.invoke.LambdaForm$Name
dup
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 13
aastore
dup
iconst_1
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
24: iconst_0
istore 14
start local 14 25: goto 29
26: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.LambdaForm$Name int
StackMap stack:
aload 9
iload 10
iload 8
iastore
27: aload 7
iload 8
iinc 8 1
new java.lang.invoke.LambdaForm$Name
dup
new java.lang.invoke.LambdaForm$NamedFunction
dup
aload 12
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.ARRAY_LOAD:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 13
aastore
dup
iconst_1
iload 14
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
28: iinc 10 1
iinc 14 1
StackMap locals:
StackMap stack:
29: iload 14
iload 3
if_icmplt 26
end local 14 end local 13 end local 12 30: goto 33
StackMap locals:
StackMap stack:
31: iload 10
aload 9
arraylength
if_icmpge 33
32: aload 9
iload 10
iload 11
iastore
33: StackMap locals:
StackMap stack:
iinc 10 1
iinc 11 1
StackMap locals:
StackMap stack:
34: iload 10
aload 4
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iconst_1
iadd
if_icmplt 19
end local 11 end local 10 35: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 36
iload 8
aload 7
arraylength
iconst_1
isub
if_icmpeq 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
36: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
anewarray java.lang.invoke.LambdaForm$Name
astore 10
start local 10 37: iconst_0
istore 11
start local 11 38: goto 42
39: StackMap locals: java.lang.invoke.LambdaForm$Name[] int
StackMap stack:
aload 9
iload 11
iaload
istore 12
start local 12 40: aload 10
iload 11
aload 7
iload 12
aaload
aastore
end local 12 41: iinc 11 1
StackMap locals:
StackMap stack:
42: iload 11
aload 4
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
if_icmplt 39
end local 11 43: aload 7
aload 7
arraylength
iconst_1
isub
new java.lang.invoke.LambdaForm$Name
dup
aload 0
aload 10
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
aastore
44: new java.lang.invoke.LambdaForm
dup
aload 6
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 7
getstatic java.lang.invoke.LambdaForm$Kind.SPREAD:Ljava/lang/invoke/LambdaForm$Kind;
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
astore 11
start local 11 45: aload 5
aload 11
invokestatic java.lang.invoke.SimpleMethodHandle.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 target Ljava/lang/invoke/MethodHandle;
0 46 1 spreadArgType Ljava/lang/Class<*>;
0 46 2 spreadArgPos I
0 46 3 spreadArgCount I
1 46 4 targetType Ljava/lang/invoke/MethodType;
2 8 5 i I
4 6 6 arg Ljava/lang/Class<*>;
12 46 5 srcType Ljava/lang/invoke/MethodType;
13 46 6 lambdaType Ljava/lang/invoke/MethodType;
14 46 7 names [Ljava/lang/invoke/LambdaForm$Name;
15 46 8 nameCursor I
16 46 9 indexes [I
17 35 10 i I
18 35 11 argIndex I
22 30 12 aload Ljava/lang/invoke/MethodHandle;
23 30 13 array Ljava/lang/invoke/LambdaForm$Name;
25 30 14 j I
37 46 10 targetArgs [Ljava/lang/invoke/LambdaForm$Name;
38 43 11 i I
40 41 12 idx I
45 46 11 form Ljava/lang/invoke/LambdaForm;
Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;II)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
target
spreadArgType
spreadArgPos
spreadArgCount
static void checkSpreadArgument(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
iload 1
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
ifnonnull 4
3: new java.lang.NullPointerException
dup
ldc "null array reference"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Object[]
ifeq 7
5: aload 0
checkcast java.lang.Object[]
arraylength
istore 2
start local 2 6: iload 2
iload 1
if_icmpne 9
return
end local 2 7: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
istore 2
start local 2 8: iload 2
iload 1
if_icmpne 9
return
end local 2 9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "array is not of length "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 av Ljava/lang/Object;
0 10 1 n I
6 7 2 len I
8 9 2 len I
MethodParameters:
Name Flags
av
n
static java.lang.invoke.MethodHandle makeCollectArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, int, boolean);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;IZ)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=20, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 4
start local 4 1: aload 1
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 5
start local 5 2: aload 5
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 6
start local 6 3: aload 5
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 7
start local 7 4: aload 7
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 5
iconst_0
goto 6
StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle int int java.lang.invoke.MethodType java.lang.invoke.MethodType int java.lang.Class
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: istore 8
start local 8 7: aload 4
8: iload 2
iload 2
iload 8
iadd
invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
9: astore 9
start local 9 10: iload 3
ifne 12
11: aload 9
iload 2
aload 5
invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 9
12: StackMap locals: int java.lang.invoke.MethodType
StackMap stack:
aload 9
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
astore 10
start local 10 13: iconst_2
aload 10
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 11
start local 11 14: aload 11
arraylength
iconst_2
isub
istore 12
start local 12 15: aload 11
arraylength
iconst_1
isub
istore 13
start local 13 16: aload 11
iconst_1
iload 2
iadd
iconst_1
iload 2
iadd
iload 6
iadd
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast java.lang.invoke.LambdaForm$Name[]
astore 14
start local 14 17: aload 11
iload 12
new java.lang.invoke.LambdaForm$Name
dup
aload 1
aload 14
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
aastore
18: aload 4
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
anewarray java.lang.invoke.LambdaForm$Name
astore 15
start local 15 19: iconst_1
istore 16
start local 16 20: iconst_0
istore 17
start local 17 21: iload 2
istore 18
start local 18 22: aload 11
iload 16
aload 15
iload 17
iload 18
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: iload 16
iload 18
iadd
istore 16
24: iload 17
iload 18
iadd
istore 17
25: aload 7
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 27
26: aload 15
iload 17
iinc 17 1
aload 11
iload 12
aaload
aastore
27: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle int int java.lang.invoke.MethodType java.lang.invoke.MethodType int java.lang.Class int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] int int java.lang.invoke.LambdaForm$Name[] java.lang.invoke.LambdaForm$Name[] int int int
StackMap stack:
iload 6
istore 18
28: iload 3
ifeq 31
29: aload 11
iload 16
aload 15
iload 17
iload 18
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
30: iload 17
iload 18
iadd
istore 17
31: StackMap locals:
StackMap stack:
iload 16
iload 18
iadd
istore 16
32: aload 15
arraylength
iload 17
isub
istore 18
33: aload 11
iload 16
aload 15
iload 17
iload 18
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 35
iload 16
iload 18
iadd
iload 12
if_icmpeq 35
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: StackMap locals:
StackMap stack:
aload 11
iload 13
new java.lang.invoke.LambdaForm$Name
dup
aload 0
aload 15
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
aastore
36: new java.lang.invoke.LambdaForm
dup
aload 10
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 11
getstatic java.lang.invoke.LambdaForm$Kind.COLLECT:Ljava/lang/invoke/LambdaForm$Kind;
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
astore 19
start local 19 37: aload 9
aload 19
invokestatic java.lang.invoke.SimpleMethodHandle.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 target Ljava/lang/invoke/MethodHandle;
0 38 1 collector Ljava/lang/invoke/MethodHandle;
0 38 2 collectArgPos I
0 38 3 retainOriginalArgs Z
1 38 4 targetType Ljava/lang/invoke/MethodType;
2 38 5 collectorType Ljava/lang/invoke/MethodType;
3 38 6 collectArgCount I
4 38 7 collectValType Ljava/lang/Class<*>;
7 38 8 collectValCount I
10 38 9 srcType Ljava/lang/invoke/MethodType;
13 38 10 lambdaType Ljava/lang/invoke/MethodType;
14 38 11 names [Ljava/lang/invoke/LambdaForm$Name;
15 38 12 collectNamePos I
16 38 13 targetNamePos I
17 38 14 collectorArgs [Ljava/lang/invoke/LambdaForm$Name;
19 38 15 targetArgs [Ljava/lang/invoke/LambdaForm$Name;
20 38 16 inputArgPos I
21 38 17 targetArgPos I
22 38 18 chunk I
37 38 19 form Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
target
collector
collectArgPos
retainOriginalArgs
static java.lang.invoke.MethodHandle selectAlternative(boolean, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
descriptor: (ZLjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 testResult Z
0 3 1 target Ljava/lang/invoke/MethodHandle;
0 3 2 fallback Ljava/lang/invoke/MethodHandle;
RuntimeVisibleAnnotations:
java.lang.invoke.LambdaForm$Hidden()
MethodParameters:
Name Flags
testResult
target
fallback
static boolean profileBoolean(boolean, int[]);
descriptor: (Z[I)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iload 0
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 1
iload 2
aload 1
iload 2
iaload
iconst_1
invokestatic java.lang.Math.addExact:(II)I
iastore
4: goto 7
StackMap locals: int int[] int
StackMap stack: java.lang.ArithmeticException
5: pop
6: aload 1
iload 2
aload 1
iload 2
iaload
iconst_2
idiv
iastore
7: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 result Z
0 8 1 counters [I
3 8 2 idx I
Exception table:
from to target type
3 4 5 Class java.lang.ArithmeticException
RuntimeVisibleAnnotations:
java.lang.invoke.LambdaForm$Hidden()
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
result
counters
static boolean isCompileConstant(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 obj Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.invoke.LambdaForm$Hidden()
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
obj
static java.lang.invoke.MethodHandle makeGuardWithTest(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 3
start local 3 1: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 3
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifeq 2
aload 2
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 3
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifne 3
StackMap locals: java.lang.invoke.MethodType
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 4
start local 4 4: aload 4
invokestatic java.lang.invoke.MethodHandleImpl.makeGuardWithTestForm:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
astore 5
start local 5 5: getstatic java.lang.invoke.MethodHandleStatics.PROFILE_GWT:Z
ifeq 12
6: iconst_2
newarray 10
astore 7
start local 7 7: invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
aload 3
aload 5
8: aload 0
aload 1
invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
aload 2
invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
aload 7
9: invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[I)Ljava/lang/invoke/BoundMethodHandle;
10: astore 6
end local 7 start local 6 11: goto 19
end local 6 12: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm
StackMap stack:
invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
aload 3
aload 5
13: aload 0
aload 1
invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
aload 2
invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
14: invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
15: astore 6
start local 6 16: goto 19
end local 6 StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 7
start local 7 18: aload 7
invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 7 start local 6 19: StackMap locals: java.lang.invoke.BoundMethodHandle
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 20
aload 6
invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 3
if_acmpeq 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 test Ljava/lang/invoke/MethodHandle;
0 21 1 target Ljava/lang/invoke/MethodHandle;
0 21 2 fallback Ljava/lang/invoke/MethodHandle;
1 21 3 type Ljava/lang/invoke/MethodType;
4 21 4 basicType Ljava/lang/invoke/MethodType;
5 21 5 form Ljava/lang/invoke/LambdaForm;
11 12 6 mh Ljava/lang/invoke/BoundMethodHandle;
16 17 6 mh Ljava/lang/invoke/BoundMethodHandle;
19 21 6 mh Ljava/lang/invoke/BoundMethodHandle;
7 11 7 counts [I
18 19 7 ex Ljava/lang/Throwable;
Exception table:
from to target type
5 16 17 Class java.lang.Throwable
MethodParameters:
Name Flags
test
target
fallback
static java.lang.invoke.MethodHandle profile(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
iflt 2
1: aload 0
invokestatic java.lang.invoke.MethodHandleImpl.makeBlockInliningWrapper:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 target Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
target
static java.lang.invoke.MethodHandle makeBlockInliningWrapper(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
ifle 3
1: getstatic java.lang.invoke.MethodHandleImpl$Makers.PRODUCE_BLOCK_INLINING_FORM:Ljava/util/function/Function;
aload 0
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.invoke.LambdaForm
astore 1
start local 1 2: goto 4
end local 1 3: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl$Makers.PRODUCE_REINVOKER_FORM:Ljava/util/function/Function;
aload 0
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.invoke.LambdaForm
astore 1
start local 1 4: StackMap locals: java.lang.invoke.LambdaForm
StackMap stack:
new java.lang.invoke.MethodHandleImpl$CountingWrapper
dup
aload 0
aload 1
5: getstatic java.lang.invoke.MethodHandleImpl$Makers.PRODUCE_BLOCK_INLINING_FORM:Ljava/util/function/Function;
getstatic java.lang.invoke.MethodHandleImpl$Makers.PRODUCE_REINVOKER_FORM:Ljava/util/function/Function;
6: getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
7: invokespecial java.lang.invoke.MethodHandleImpl$CountingWrapper.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/LambdaForm;Ljava/util/function/Function;Ljava/util/function/Function;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 target Ljava/lang/invoke/MethodHandle;
2 3 1 lform Ljava/lang/invoke/LambdaForm;
4 8 1 lform Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
target
static java.lang.invoke.LambdaForm makeGuardWithTestForm(java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
flags: (0x0008) ACC_STATIC
Code:
stack=10, locals=18, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
bipush 17
invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
areturn
2: StackMap locals: java.lang.invoke.LambdaForm
StackMap stack:
iconst_1
aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
istore 2
start local 2 3: iload 2
istore 3
start local 3 4: iload 3
iinc 3 1
istore 4
start local 4 5: iload 3
iinc 3 1
istore 5
start local 5 6: iload 3
iinc 3 1
istore 6
start local 6 7: getstatic java.lang.invoke.MethodHandleStatics.PROFILE_GWT:Z
ifeq 8
iload 3
iinc 3 1
goto 9
StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm int int int int int
StackMap stack:
8: iconst_m1
StackMap locals:
StackMap stack: int
9: istore 7
start local 7 10: iload 3
iinc 3 1
istore 8
start local 8 11: iload 7
iconst_m1
if_icmpeq 12
iload 3
iinc 3 1
goto 13
StackMap locals: int int
StackMap stack:
12: iconst_m1
StackMap locals:
StackMap stack: int
13: istore 9
start local 9 14: iload 3
iconst_1
isub
istore 10
start local 10 15: iload 3
iinc 3 1
istore 11
start local 11 16: iload 3
iinc 3 1
istore 12
start local 12 17: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 18
iload 12
iload 11
iconst_1
iadd
if_icmpeq 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm int int int int int int int int int int int
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
astore 13
start local 13 19: iload 3
iload 2
isub
aload 13
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 14
start local 14 20: iload 7
iconst_m1
if_icmpeq 21
invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
goto 22
21: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[]
StackMap stack:
invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
22: StackMap locals:
StackMap stack: java.lang.invoke.BoundMethodHandle$SpeciesData
astore 15
start local 15 23: aload 14
iconst_0
aload 14
iconst_0
aaload
aload 15
invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
aastore
24: aload 14
iload 4
new java.lang.invoke.LambdaForm$Name
dup
aload 15
iconst_0
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 14
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
25: aload 14
iload 5
new java.lang.invoke.LambdaForm$Name
dup
aload 15
iconst_1
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 14
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
26: aload 14
iload 6
new java.lang.invoke.LambdaForm$Name
dup
aload 15
iconst_2
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 14
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
27: iload 7
iconst_m1
if_icmpeq 29
28: aload 14
iload 7
new java.lang.invoke.LambdaForm$Name
dup
aload 15
iconst_3
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 14
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
29: StackMap locals: java.lang.invoke.BoundMethodHandle$SpeciesData
StackMap stack:
aload 14
iconst_0
iload 2
ldc [Ljava/lang/Object;
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
astore 16
start local 16 30: aload 0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 17
start local 17 31: aload 16
iconst_0
aload 14
iload 4
aaload
aastore
32: aload 14
iload 8
new java.lang.invoke.LambdaForm$Name
dup
aload 17
aload 16
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)V
aastore
33: iload 9
iconst_m1
if_icmpeq 35
34: aload 14
iload 9
new java.lang.invoke.LambdaForm$Name
dup
iconst_5
invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 14
iload 8
aaload
aastore
dup
iconst_1
aload 14
iload 7
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
35: StackMap locals: java.lang.Object[] java.lang.invoke.MethodType
StackMap stack:
aload 14
iload 11
new java.lang.invoke.LambdaForm$Name
dup
new java.lang.invoke.LambdaForm$NamedFunction
dup
iconst_1
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.SELECT_ALTERNATIVE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 14
iload 10
aaload
aastore
dup
iconst_1
aload 14
iload 5
aaload
aastore
dup
iconst_2
aload 14
iload 6
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
36: aload 16
iconst_0
aload 14
iload 11
aaload
aastore
37: aload 14
iload 12
new java.lang.invoke.LambdaForm$Name
dup
aload 0
aload 16
invokespecial java.lang.invoke.LambdaForm$Name.