class java.lang.invoke.DirectMethodHandle extends java.lang.invoke.MethodHandle
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.lang.invoke.DirectMethodHandle
super_class: java.lang.invoke.MethodHandle
{
final java.lang.invoke.MemberName member;
descriptor: Ljava/lang/invoke/MemberName;
flags: (0x0010) ACC_FINAL
private static final java.lang.invoke.MemberName$Factory IMPL_NAMES;
descriptor: Ljava/lang/invoke/MemberName$Factory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final byte AF_GETFIELD;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final byte AF_PUTFIELD;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final byte AF_GETSTATIC;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final byte AF_PUTSTATIC;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final byte AF_GETSTATIC_INIT;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final byte AF_PUTSTATIC_INIT;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final byte AF_LIMIT;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
static final int FT_LAST_WRAPPER;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 9
static final int FT_UNCHECKED_REF;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int FT_CHECKED_REF;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 10
static final int FT_LIMIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final java.lang.invoke.LambdaForm[] ACCESSOR_FORMS;
descriptor: [Ljava/lang/invoke/LambdaForm;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
private static final sun.invoke.util.Wrapper[] ALL_WRAPPERS;
descriptor: [Lsun/invoke/util/Wrapper;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final byte NF_internalMemberName;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final byte NF_internalMemberNameEnsureInit;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final byte NF_ensureInitialized;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final byte NF_fieldOffset;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final byte NF_checkBase;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final byte NF_staticBase;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final byte NF_staticOffset;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
static final byte NF_checkCast;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 7
static final byte NF_allocateInstance;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final byte NF_constructorMethod;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 9
static final byte NF_UNSAFE;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 10
static final byte NF_checkReceiver;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 11
static final byte NF_LIMIT;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 12
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()
private static final java.lang.invoke.MethodType OBJ_OBJ_TYPE;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodType LONG_OBJ_TYPE;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$sun$invoke$util$Wrapper;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Ljava/lang/invoke/DirectMethodHandle;
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.DirectMethodHandle.$assertionsDisabled:Z
3: invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
putstatic java.lang.invoke.DirectMethodHandle.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
4: getstatic sun.invoke.util.Wrapper.OBJECT:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
putstatic java.lang.invoke.DirectMethodHandle.FT_UNCHECKED_REF:I
5: bipush 6
iconst_0
iconst_0
invokestatic java.lang.invoke.DirectMethodHandle.afIndex:(BZI)I
anewarray java.lang.invoke.LambdaForm
6: putstatic java.lang.invoke.DirectMethodHandle.ACCESSOR_FORMS:[Ljava/lang/invoke/LambdaForm;
7: invokestatic sun.invoke.util.Wrapper.values:()[Lsun/invoke/util/Wrapper;
putstatic java.lang.invoke.DirectMethodHandle.ALL_WRAPPERS:[Lsun/invoke/util/Wrapper;
8: bipush 12
anewarray java.lang.invoke.LambdaForm$NamedFunction
putstatic java.lang.invoke.DirectMethodHandle.NFS:[Ljava/lang/invoke/LambdaForm$NamedFunction;
9: ldc Ljava/lang/Object;
ldc Ljava/lang/Object;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
putstatic java.lang.invoke.DirectMethodHandle.OBJ_OBJ_TYPE:Ljava/lang/invoke/MethodType;
10: getstatic java.lang.Long.TYPE:Ljava/lang/Class;
ldc Ljava/lang/Object;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
putstatic java.lang.invoke.DirectMethodHandle.LONG_OBJ_TYPE:Ljava/lang/invoke/MethodType;
11: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
ldc Ljava/lang/invoke/DirectMethodHandle$Holder;
invokevirtual jdk.internal.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
12: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial java.lang.invoke.MethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)V
1: aload 3
invokevirtual java.lang.invoke.MemberName.isResolved:()Z
ifne 2
new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals: java.lang.invoke.DirectMethodHandle java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MemberName
StackMap stack:
aload 3
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
ifeq 10
3: aload 3
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
bipush 9
if_icmpne 10
4: aload 3
invokevirtual java.lang.invoke.MemberName.isMethod:()Z
ifeq 10
aload 3
invokevirtual java.lang.invoke.MemberName.isAbstract:()Z
ifne 10
5: new java.lang.invoke.MemberName
dup
ldc Ljava/lang/Object;
aload 3
invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
aload 3
invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
aload 3
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
astore 4
start local 4 6: invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
aload 4
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
aload 4
aconst_null
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrNull:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 4
7: aload 4
ifnull 10
aload 4
invokevirtual java.lang.invoke.MemberName.isPublic:()Z
ifeq 10
8: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 9
aload 3
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
aload 4
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
if_icmpeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: java.lang.invoke.MemberName
StackMap stack:
aload 4
astore 3
end local 4 10: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/invoke/DirectMethodHandle;
0 12 1 mtype Ljava/lang/invoke/MethodType;
0 12 2 form Ljava/lang/invoke/LambdaForm;
0 12 3 member Ljava/lang/invoke/MemberName;
6 10 4 m Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
mtype
form
member
static java.lang.invoke.DirectMethodHandle make(byte, java.lang.Class<?>, java.lang.invoke.MemberName, java.lang.Class<?>);
descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/DirectMethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.lang.invoke.MemberName.getMethodOrFieldType:()Ljava/lang/invoke/MethodType;
astore 4
start local 4 1: aload 2
invokevirtual java.lang.invoke.MemberName.isStatic:()Z
ifne 5
2: aload 2
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 3
aload 2
invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
ifeq 4
3: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
new java.lang.InternalError
dup
aload 2
invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 4
iconst_0
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 1
aastore
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 4
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.invoke.MemberName.isField:()Z
ifne 16
6: iload 0
tableswitch { // 7 - 9
7: 7
8: 14
9: 12
default: 14
}
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.invoke.MemberName.asSpecial:()Ljava/lang/invoke/MemberName;
astore 2
8: aload 3
ifnonnull 10
9: new java.lang.InternalError
dup
ldc "callerClass must not be null for REF_invokeSpecial"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual java.lang.Class.isInterface:()Z
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/LambdaForm;
astore 5
start local 5 11: new java.lang.invoke.DirectMethodHandle$Special
dup
aload 4
aload 5
aload 2
aload 3
invokespecial java.lang.invoke.DirectMethodHandle$Special.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)V
areturn
end local 5 12: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/LambdaForm;
astore 5
start local 5 13: new java.lang.invoke.DirectMethodHandle$Interface
dup
aload 4
aload 5
aload 2
aload 1
invokespecial java.lang.invoke.DirectMethodHandle$Interface.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)V
areturn
end local 5 14: StackMap locals:
StackMap stack:
aload 2
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
astore 5
start local 5 15: new java.lang.invoke.DirectMethodHandle
dup
aload 4
aload 5
aload 2
invokespecial java.lang.invoke.DirectMethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
areturn
end local 5 16: StackMap locals:
StackMap stack:
aload 2
invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
astore 5
start local 5 17: aload 2
invokevirtual java.lang.invoke.MemberName.isStatic:()Z
ifeq 21
18: aload 2
invokestatic java.lang.invoke.MethodHandleNatives.staticFieldOffset:(Ljava/lang/invoke/MemberName;)J
lstore 6
start local 6 19: aload 2
invokestatic java.lang.invoke.MethodHandleNatives.staticFieldBase:(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;
astore 8
start local 8 20: new java.lang.invoke.DirectMethodHandle$StaticAccessor
dup
aload 4
aload 5
aload 2
aload 8
lload 6
invokespecial java.lang.invoke.DirectMethodHandle$StaticAccessor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Ljava/lang/Object;J)V
areturn
end local 8 end local 6 21: StackMap locals: java.lang.invoke.LambdaForm
StackMap stack:
aload 2
invokestatic java.lang.invoke.MethodHandleNatives.objectFieldOffset:(Ljava/lang/invoke/MemberName;)J
lstore 6
start local 6 22: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 23
lload 6
lload 6
l2i
i2l
lcmp
ifeq 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals: long
StackMap stack:
new java.lang.invoke.DirectMethodHandle$Accessor
dup
aload 4
aload 5
aload 2
lload 6
l2i
invokespecial java.lang.invoke.DirectMethodHandle$Accessor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;I)V
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 24 0 refKind B
0 24 1 refc Ljava/lang/Class<*>;
0 24 2 member Ljava/lang/invoke/MemberName;
0 24 3 callerClass Ljava/lang/Class<*>;
1 24 4 mtype Ljava/lang/invoke/MethodType;
11 12 5 lform Ljava/lang/invoke/LambdaForm;
13 14 5 lform Ljava/lang/invoke/LambdaForm;
15 16 5 lform Ljava/lang/invoke/LambdaForm;
17 24 5 lform Ljava/lang/invoke/LambdaForm;
19 21 6 offset J
20 21 8 base Ljava/lang/Object;
22 24 6 offset J
Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/Class<*>;)Ljava/lang/invoke/DirectMethodHandle;
MethodParameters:
Name Flags
refKind
refc
member
callerClass
static java.lang.invoke.DirectMethodHandle make(java.lang.Class<?>, java.lang.invoke.MemberName);
descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
istore 2
start local 2 1: iload 2
bipush 7
if_icmpne 3
2: iconst_5
istore 2
3: StackMap locals: int
StackMap stack:
iload 2
aload 0
aload 1
aconst_null
invokestatic java.lang.invoke.DirectMethodHandle.make:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/DirectMethodHandle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 refc Ljava/lang/Class<*>;
0 4 1 member Ljava/lang/invoke/MemberName;
1 4 2 refKind B
Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
MethodParameters:
Name Flags
refc
member
static java.lang.invoke.DirectMethodHandle make(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
ifeq 2
1: aload 0
invokestatic java.lang.invoke.DirectMethodHandle.makeAllocator:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
aload 0
invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 member Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
member
private static java.lang.invoke.DirectMethodHandle makeAllocator(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
ifeq 1
aload 0
invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
ldc "<init>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
astore 1
start local 1 3: aload 0
invokevirtual java.lang.invoke.MemberName.asConstructor:()Ljava/lang/invoke/MemberName;
astore 0
4: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 6
aload 0
invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
ifeq 5
aload 0
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
bipush 8
if_icmpeq 6
StackMap locals: java.lang.Class
StackMap stack:
5: new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
aload 1
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 2
start local 2 7: aload 0
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
astore 3
start local 3 8: aload 0
invokevirtual java.lang.invoke.MemberName.asSpecial:()Ljava/lang/invoke/MemberName;
astore 4
start local 4 9: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 10
aload 4
invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MemberName
StackMap stack:
new java.lang.invoke.DirectMethodHandle$Constructor
dup
aload 2
aload 3
aload 0
aload 4
aload 1
invokespecial java.lang.invoke.DirectMethodHandle$Constructor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 ctor Ljava/lang/invoke/MemberName;
3 11 1 instanceClass Ljava/lang/Class<*>;
7 11 2 mtype Ljava/lang/invoke/MethodType;
8 11 3 lform Ljava/lang/invoke/LambdaForm;
9 11 4 init Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
ctor
java.lang.invoke.BoundMethodHandle rebind();
descriptor: ()Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.invoke.BoundMethodHandle.makeReinvoker:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/DirectMethodHandle;
java.lang.invoke.MethodHandle copyWith(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/MethodHandle;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/invoke/DirectMethodHandle;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new java.lang.invoke.DirectMethodHandle
dup
aload 1
aload 2
aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokespecial java.lang.invoke.DirectMethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/DirectMethodHandle;
0 2 1 mt Ljava/lang/invoke/MethodType;
0 2 2 lf Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
mt
lf
java.lang.String internalProperties();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "\n& DMH.MN="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.invoke.DirectMethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/DirectMethodHandle;
java.lang.invoke.MemberName internalMemberName();
descriptor: ()Ljava/lang/invoke/MemberName;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/DirectMethodHandle;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
private static java.lang.invoke.LambdaForm preparedLambdaForm(java.lang.invoke.MemberName, boolean);
descriptor: (Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.invoke.MemberName.isInvocable:()Z
ifne 1
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 2
start local 2 2: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual java.lang.invoke.MemberName.isMethodHandleInvoke:()Z
ifeq 3
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
tableswitch { // 5 - 9
5: 4
6: 6
7: 8
8: 12
9: 10
default: 14
}
4: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 5: goto 15
end local 3 6: StackMap locals:
StackMap stack:
iconst_1
istore 3
start local 3 7: goto 15
end local 3 8: StackMap locals:
StackMap stack:
iconst_2
istore 3
start local 3 9: goto 15
end local 3 10: StackMap locals:
StackMap stack:
iconst_4
istore 3
start local 3 11: goto 15
end local 3 12: StackMap locals:
StackMap stack:
iconst_3
istore 3
start local 3 13: goto 15
end local 3 14: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
aload 0
invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
start local 3 15: StackMap locals: int
StackMap stack:
iload 3
iconst_1
if_icmpne 18
aload 0
invokestatic java.lang.invoke.DirectMethodHandle.shouldBeInitialized:(Ljava/lang/invoke/MemberName;)Z
ifeq 18
16: aload 2
iload 3
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
pop
17: iconst_5
istore 3
18: StackMap locals:
StackMap stack:
iload 3
iconst_2
if_icmpne 20
iload 1
ifeq 20
19: bipush 20
istore 3
20: StackMap locals:
StackMap stack:
aload 2
iload 3
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
astore 4
start local 4 21: aload 4
aload 0
invokestatic java.lang.invoke.DirectMethodHandle.maybeCompile:(Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
22: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 25
aload 4
invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
iconst_0
iconst_1
invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
23: aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifne 25
new java.lang.AssertionError
dup
iconst_4
anewarray java.lang.Object
dup
iconst_0
24: aload 0
aastore
dup
iconst_1
aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 4
invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
25: StackMap locals: java.lang.invoke.LambdaForm
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 26 0 m Ljava/lang/invoke/MemberName;
0 26 1 adaptToSpecialIfc Z
2 26 2 mtype Ljava/lang/invoke/MethodType;
5 6 3 which I
7 8 3 which I
9 10 3 which I
11 12 3 which I
13 14 3 which I
15 26 3 which I
21 26 4 lform Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
m
adaptToSpecialIfc
private static java.lang.invoke.LambdaForm preparedLambdaForm(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/LambdaForm;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 m Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
m
private static java.lang.invoke.LambdaForm preparedLambdaForm(java.lang.invoke.MethodType, int);
descriptor: (Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
iload 1
invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
areturn
2: StackMap locals: java.lang.invoke.LambdaForm
StackMap stack:
aload 0
iload 1
invokestatic java.lang.invoke.DirectMethodHandle.makePreparedLambdaForm:(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
astore 2
3: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
iload 1
aload 2
invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 mtype Ljava/lang/invoke/MethodType;
0 4 1 which I
1 4 2 lform Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
mtype
which
static java.lang.invoke.LambdaForm makePreparedLambdaForm(java.lang.invoke.MethodType, int);
descriptor: (Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
flags: (0x0008) ACC_STATIC
Code:
stack=10, locals=19, args_size=2
start local 0 start local 1 0: iload 1
iconst_5
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: iload 1
iconst_3
if_icmpne 4
iconst_1
goto 5
StackMap locals: int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: iload 1
iconst_4
if_icmpeq 9
7: iload 1
bipush 20
if_icmpeq 9
8: iconst_0
goto 10
StackMap locals: int
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: istore 4
start local 4 11: iload 1
lookupswitch { // 7
0: 12
1: 15
2: 24
3: 30
4: 27
5: 18
20: 21
default: 33
}
12: StackMap locals: int
StackMap stack:
ldc "linkToVirtual"
astore 5
start local 5 13: getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_VIRTUAL:Ljava/lang/invoke/LambdaForm$Kind;
astore 6
start local 6 14: goto 34
end local 6 end local 5 15: StackMap locals:
StackMap stack:
ldc "linkToStatic"
astore 5
start local 5 16: getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_STATIC:Ljava/lang/invoke/LambdaForm$Kind;
astore 6
start local 6 17: goto 34
end local 6 end local 5 18: StackMap locals:
StackMap stack:
ldc "linkToStatic"
astore 5
start local 5 19: getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_STATIC_INIT:Ljava/lang/invoke/LambdaForm$Kind;
astore 6
start local 6 20: goto 34
end local 6 end local 5 21: StackMap locals:
StackMap stack:
ldc "linkToSpecial"
astore 5
start local 5 22: getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_SPECIAL_IFC:Ljava/lang/invoke/LambdaForm$Kind;
astore 6
start local 6 23: goto 34
end local 6 end local 5 24: StackMap locals:
StackMap stack:
ldc "linkToSpecial"
astore 5
start local 5 25: getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_SPECIAL:Ljava/lang/invoke/LambdaForm$Kind;
astore 6
start local 6 26: goto 34
end local 6 end local 5 27: StackMap locals:
StackMap stack:
ldc "linkToInterface"
astore 5
start local 5 28: getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_INTERFACE:Ljava/lang/invoke/LambdaForm$Kind;
astore 6
start local 6 29: goto 34
end local 6 end local 5 30: StackMap locals:
StackMap stack:
ldc "linkToSpecial"
astore 5
start local 5 31: getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_NEW_INVOKE_SPECIAL:Ljava/lang/invoke/LambdaForm$Kind;
astore 6
start local 6 32: goto 34
end local 6 end local 5 33: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "which="
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;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
start local 5 start local 6 34: StackMap locals: java.lang.String java.lang.invoke.LambdaForm$Kind
StackMap stack:
aload 0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/invoke/MemberName;
aastore
invokevirtual java.lang.invoke.MethodType.appendParameterTypes:([Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 7
start local 7 35: iload 3
ifeq 40
36: aload 7
37: iconst_0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
38: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
39: astore 7
40: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
new java.lang.invoke.MemberName
dup
ldc Ljava/lang/invoke/MethodHandle;
aload 5
aload 7
bipush 6
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
astore 8
start local 8 41: getstatic java.lang.invoke.DirectMethodHandle.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
bipush 6
aload 8
aconst_null
ldc Ljava/lang/NoSuchMethodException;
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 8
42: goto 45
StackMap locals: java.lang.invoke.MethodType int int int int java.lang.String java.lang.invoke.LambdaForm$Kind java.lang.invoke.MethodType java.lang.invoke.MemberName
StackMap stack: java.lang.ReflectiveOperationException
43: astore 9
start local 9 44: aload 9
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 9 45: StackMap locals:
StackMap stack:
iconst_1
aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
istore 9
start local 9 46: iload 9
istore 10
start local 10 47: iload 3
ifeq 48
iload 10
iinc 10 1
goto 49
StackMap locals: int int
StackMap stack:
48: iconst_m1
StackMap locals:
StackMap stack: int
49: istore 11
start local 11 50: iload 10
iinc 10 1
istore 12
start local 12 51: iload 4
ifeq 52
iload 10
iinc 10 1
goto 53
StackMap locals: int int
StackMap stack:
52: iconst_m1
StackMap locals:
StackMap stack: int
53: istore 13
start local 13 54: iload 10
iinc 10 1
istore 14
start local 14 55: iload 10
iload 9
isub
aload 0
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 15
start local 15 56: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 57
aload 15
arraylength
iload 10
if_icmpeq 57
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
57: StackMap locals: int int java.lang.invoke.LambdaForm$Name[]
StackMap stack:
iload 3
ifeq 61
58: aload 15
iload 11
new java.lang.invoke.LambdaForm$Name
dup
bipush 8
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
59: aload 15
iload 12
new java.lang.invoke.LambdaForm$Name
dup
bipush 9
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
60: goto 65
StackMap locals:
StackMap stack:
61: iload 2
ifeq 64
62: aload 15
iload 12
new java.lang.invoke.LambdaForm$Name
dup
iconst_1
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
63: goto 65
64: StackMap locals:
StackMap stack:
aload 15
iload 12
new java.lang.invoke.LambdaForm$Name
dup
iconst_0
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
65: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 66
aload 15
iload 12
aaload
invokestatic java.lang.invoke.DirectMethodHandle.findDirectMethodHandle:(Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/Object;
aload 15
iconst_0
aaload
if_acmpeq 66
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
66: StackMap locals:
StackMap stack:
aload 15
iconst_1
iload 12
iconst_1
iadd
ldc [Ljava/lang/Object;
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
astore 16
start local 16 67: iload 4
ifeq 70
68: aload 15
iload 13
new java.lang.invoke.LambdaForm$Name
dup
bipush 11
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_0
aaload
aastore
dup
iconst_1
aload 15
iconst_1
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
69: aload 16
iconst_0
aload 15
iload 13
aaload
aastore
70: StackMap locals: java.lang.Object[]
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 71
aload 16
aload 16
arraylength
iconst_1
isub
aaload
aload 15
iload 12
aaload
if_acmpeq 71
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
71: StackMap locals:
StackMap stack:
bipush -2
istore 17
start local 17 72: iload 3
ifeq 77
73: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 74
aload 16
aload 16
arraylength
iconst_2
isub
aaload
aload 15
iload 11
aaload
if_acmpeq 74
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
74: StackMap locals: int
StackMap stack:
aload 16
iconst_0
aload 16
iconst_1
aload 16
arraylength
iconst_2
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
75: aload 16
iconst_0
aload 15
iload 11
aaload
aastore
76: iload 11
istore 17
77: StackMap locals:
StackMap stack:
aload 15
iload 14
new java.lang.invoke.LambdaForm$Name
dup
aload 8
aload 16
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MemberName;[Ljava/lang/Object;)V
aastore
78: new java.lang.invoke.LambdaForm
dup
iload 9
aload 15
iload 17
aload 6
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;ILjava/lang/invoke/LambdaForm$Kind;)V
astore 18
start local 18 79: aload 18
invokevirtual java.lang.invoke.LambdaForm.compileToBytecode:()V
80: aload 18
areturn
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 81 0 mtype Ljava/lang/invoke/MethodType;
0 81 1 which I
3 81 2 needsInit Z
6 81 3 doesAlloc Z
11 81 4 needsReceiverCheck Z
13 15 5 linkerName Ljava/lang/String;
16 18 5 linkerName Ljava/lang/String;
19 21 5 linkerName Ljava/lang/String;
22 24 5 linkerName Ljava/lang/String;
25 27 5 linkerName Ljava/lang/String;
28 30 5 linkerName Ljava/lang/String;
31 33 5 linkerName Ljava/lang/String;
34 81 5 linkerName Ljava/lang/String;
14 15 6 kind Ljava/lang/invoke/LambdaForm$Kind;
17 18 6 kind Ljava/lang/invoke/LambdaForm$Kind;
20 21 6 kind Ljava/lang/invoke/LambdaForm$Kind;
23 24 6 kind Ljava/lang/invoke/LambdaForm$Kind;
26 27 6 kind Ljava/lang/invoke/LambdaForm$Kind;
29 30 6 kind Ljava/lang/invoke/LambdaForm$Kind;
32 33 6 kind Ljava/lang/invoke/LambdaForm$Kind;
34 81 6 kind Ljava/lang/invoke/LambdaForm$Kind;
35 81 7 mtypeWithArg Ljava/lang/invoke/MethodType;
41 81 8 linker Ljava/lang/invoke/MemberName;
44 45 9 ex Ljava/lang/ReflectiveOperationException;
46 81 9 ARG_LIMIT I
47 81 10 nameCursor I
50 81 11 NEW_OBJ I
51 81 12 GET_MEMBER I
54 81 13 CHECK_RECEIVER I
55 81 14 LINKER_CALL I
56 81 15 names [Ljava/lang/invoke/LambdaForm$Name;
67 81 16 outArgs [Ljava/lang/Object;
72 81 17 result I
79 81 18 lform Ljava/lang/invoke/LambdaForm;
Exception table:
from to target type
41 42 43 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
mtype
which
static java.lang.Object findDirectMethodHandle(java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_0
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.equals:(Ljava/lang/Object;)Z
ifne 3
1: aload 0
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.equals:(Ljava/lang/Object;)Z
ifne 3
2: aload 0
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
bipush 9
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.equals:(Ljava/lang/Object;)Z
ifeq 5
3: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 4
aload 0
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
arraylength
iconst_1
if_icmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
iconst_0
aaload
areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 name Ljava/lang/invoke/LambdaForm$Name;
MethodParameters:
Name Flags
name
private static void maybeCompile(java.lang.invoke.LambdaForm, java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.invoke.LambdaForm.vmentry:Ljava/lang/invoke/MemberName;
ifnonnull 2
aload 1
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
ldc Ljava/lang/invoke/MethodHandle;
invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 2
1: aload 0
invokevirtual java.lang.invoke.LambdaForm.compileToBytecode:()V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 lform Ljava/lang/invoke/LambdaForm;
0 3 1 m Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
lform
m
static java.lang.Object internalMemberName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mh Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
mh
static java.lang.Object internalMemberNameEnsureInit(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle
astore 1
start local 1 1: aload 1
invokevirtual java.lang.invoke.DirectMethodHandle.ensureInitialized:()V
2: aload 1
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 mh Ljava/lang/Object;
1 3 1 dmh Ljava/lang/invoke/DirectMethodHandle;
MethodParameters:
Name Flags
mh
static boolean shouldBeInitialized(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
tableswitch { // 2 - 8
2: 1
3: 2
4: 1
5: 2
6: 1
7: 2
8: 1
default: 2
}
1: StackMap locals:
StackMap stack:
goto 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
astore 1
start local 1 4: aload 1
ldc Lsun/invoke/util/ValueConversions;
if_acmpeq 7
5: aload 1
ldc Ljava/lang/invoke/MethodHandleImpl;
if_acmpeq 7
6: aload 1
ldc Ljava/lang/invoke/Invokers;
if_acmpne 8
7: StackMap locals: java.lang.Class
StackMap stack:
iconst_0
ireturn
8: StackMap locals:
StackMap stack:
ldc Ljava/lang/invoke/MethodHandle;
aload 1
invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 10
9: ldc Lsun/invoke/util/ValueConversions;
aload 1
invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 13
10: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
invokevirtual jdk.internal.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ifeq 12
11: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
invokevirtual jdk.internal.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
12: StackMap locals:
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
invokevirtual jdk.internal.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 member Ljava/lang/invoke/MemberName;
4 14 1 cls Ljava/lang/Class<*>;
MethodParameters:
Name Flags
member
private void ensureInitialized();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokestatic java.lang.invoke.DirectMethodHandle.checkInitialized:(Ljava/lang/invoke/MemberName;)Z
ifeq 4
1: aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.isField:()Z
ifeq 3
2: aload 0
aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
invokevirtual java.lang.invoke.DirectMethodHandle.updateForm:(Ljava/lang/invoke/LambdaForm;)V
goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
invokevirtual java.lang.invoke.DirectMethodHandle.updateForm:(Ljava/lang/invoke/LambdaForm;)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/invoke/DirectMethodHandle;
private static boolean checkInitialized(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
astore 1
start local 1 1: getstatic java.lang.invoke.DirectMethodHandle$EnsureInitialized.INSTANCE:Ljava/lang/invoke/DirectMethodHandle$EnsureInitialized;
aload 1
invokevirtual java.lang.invoke.DirectMethodHandle$EnsureInitialized.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 2
start local 2 2: aload 2
ifnonnull 4
3: iconst_1
ireturn
4: StackMap locals: java.lang.Class java.lang.ref.WeakReference
StackMap stack:
aload 2
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast java.lang.Thread
astore 3
start local 3 5: aload 3
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
if_acmpne 8
6: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
invokevirtual jdk.internal.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ifeq 9
7: iconst_0
ireturn
8: StackMap locals: java.lang.Thread
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
invokevirtual jdk.internal.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
9: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 10
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
invokevirtual jdk.internal.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ifeq 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle$EnsureInitialized.INSTANCE:Ljava/lang/invoke/DirectMethodHandle$EnsureInitialized;
aload 1
invokevirtual java.lang.invoke.DirectMethodHandle$EnsureInitialized.remove:(Ljava/lang/Class;)V
11: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 member Ljava/lang/invoke/MemberName;
1 12 1 defc Ljava/lang/Class<*>;
2 12 2 ref Ljava/lang/ref/WeakReference<Ljava/lang/Thread;>;
5 12 3 clinitThread Ljava/lang/Thread;
MethodParameters:
Name Flags
member
static void ensureInitialized(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle
invokevirtual java.lang.invoke.DirectMethodHandle.ensureInitialized:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 mh Ljava/lang/Object;
MethodParameters:
Name Flags
mh
java.lang.Object checkReceiver(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.InternalError
dup
ldc "Should only be invoked on a subclass"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/DirectMethodHandle;
0 1 1 recv Ljava/lang/Object;
MethodParameters:
Name Flags
recv
static java.lang.Object constructorMethod(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle$Constructor
astore 1
start local 1 1: aload 1
getfield java.lang.invoke.DirectMethodHandle$Constructor.initMethod:Ljava/lang/invoke/MemberName;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 mh Ljava/lang/Object;
1 2 1 dmh Ljava/lang/invoke/DirectMethodHandle$Constructor;
MethodParameters:
Name Flags
mh
static java.lang.Object allocateInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle$Constructor
astore 1
start local 1 1: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
getfield java.lang.invoke.DirectMethodHandle$Constructor.instanceClass:Ljava/lang/Class;
invokevirtual jdk.internal.misc.Unsafe.allocateInstance:(Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 mh Ljava/lang/Object;
1 2 1 dmh Ljava/lang/invoke/DirectMethodHandle$Constructor;
Exceptions:
throws java.lang.InstantiationException
MethodParameters:
Name Flags
mh
static long fieldOffset(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle$Accessor
getfield java.lang.invoke.DirectMethodHandle$Accessor.fieldOffset:I
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 accessorObj Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
accessorObj
static java.lang.Object checkBase(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 obj Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
obj
static java.lang.Object nullCheck(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 obj Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
obj
static java.lang.Object staticBase(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle$StaticAccessor
getfield java.lang.invoke.DirectMethodHandle$StaticAccessor.staticBase:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 accessorObj Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
accessorObj
static long staticOffset(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle$StaticAccessor
getfield java.lang.invoke.DirectMethodHandle$StaticAccessor.staticOffset:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 accessorObj Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
accessorObj
static java.lang.Object checkCast(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle
aload 1
invokevirtual java.lang.invoke.DirectMethodHandle.checkCast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mh Ljava/lang/Object;
0 1 1 obj Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.ForceInline()
MethodParameters:
Name Flags
mh
obj
java.lang.Object checkCast(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.getReturnType:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/DirectMethodHandle;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
private static int afIndex(byte, boolean, int);
descriptor: (BZI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
bipush 11
imul
iconst_2
imul
1: iload 1
ifeq 2
bipush 11
goto 3
StackMap locals:
StackMap stack: int
2: iconst_0
3: StackMap locals: int int int
StackMap stack: int int
iadd
4: iload 2
5: iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 formOp B
0 6 1 isVolatile Z
0 6 2 ftypeKind I
MethodParameters:
Name Flags
formOp
isVolatile
ftypeKind
static int ftypeKind(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 2
1: aload 0
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
ireturn
2: StackMap locals:
StackMap stack:
ldc Ljava/lang/Object;
aload 0
invokestatic sun.invoke.util.VerifyType.isNullReferenceConversion:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 4
3: getstatic java.lang.invoke.DirectMethodHandle.FT_UNCHECKED_REF:I
ireturn
4: StackMap locals:
StackMap stack:
bipush 10
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 ftype Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)I
MethodParameters:
Name Flags
ftype
private static java.lang.invoke.LambdaForm preparedFieldLambdaForm(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MemberName.getFieldType:()Ljava/lang/Class;
astore 1
start local 1 1: aload 0
invokevirtual java.lang.invoke.MemberName.isVolatile:()Z
istore 2
start local 2 2: aload 0
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
tableswitch { // 1 - 4
1: 3
2: 7
3: 5
4: 9
default: 11
}
3: StackMap locals: java.lang.Class int
StackMap stack:
iconst_0
istore 3
start local 3 4: goto 12
end local 3 5: StackMap locals:
StackMap stack:
iconst_1
istore 3
start local 3 6: goto 12
end local 3 7: StackMap locals:
StackMap stack:
iconst_2
istore 3
start local 3 8: goto 12
end local 3 9: StackMap locals:
StackMap stack:
iconst_3
istore 3
start local 3 10: goto 12
end local 3 11: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
aload 0
invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
start local 3 12: StackMap locals: int
StackMap stack:
aload 0
invokestatic java.lang.invoke.DirectMethodHandle.shouldBeInitialized:(Ljava/lang/invoke/MemberName;)Z
ifeq 15
13: iload 3
iload 2
aload 1
invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(BZLjava/lang/Class;)Ljava/lang/invoke/LambdaForm;
pop
14: iload 3
iconst_2
iadd
i2b
istore 3
15: StackMap locals:
StackMap stack:
iload 3
iload 2
aload 1
invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(BZLjava/lang/Class;)Ljava/lang/invoke/LambdaForm;
astore 4
start local 4 16: aload 4
aload 0
invokestatic java.lang.invoke.DirectMethodHandle.maybeCompile:(Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
17: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 20
aload 4
invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
iconst_0
iconst_1
invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
18: aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifne 20
new java.lang.AssertionError
dup
iconst_4
anewarray java.lang.Object
dup
iconst_0
19: aload 0
aastore
dup
iconst_1
aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 4
invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
20: StackMap locals: java.lang.invoke.LambdaForm
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 21 0 m Ljava/lang/invoke/MemberName;
1 21 1 ftype Ljava/lang/Class<*>;
2 21 2 isVolatile Z
4 5 3 formOp B
6 7 3 formOp B
8 9 3 formOp B
10 11 3 formOp B
12 21 3 formOp B
16 21 4 lform Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
m
private static java.lang.invoke.LambdaForm preparedFieldLambdaForm(byte, boolean, java.lang.Class<?>);
descriptor: (BZLjava/lang/Class;)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic java.lang.invoke.DirectMethodHandle.ftypeKind:(Ljava/lang/Class;)I
istore 3
start local 3 1: iload 0
iload 1
iload 3
invokestatic java.lang.invoke.DirectMethodHandle.afIndex:(BZI)I
istore 4
start local 4 2: getstatic java.lang.invoke.DirectMethodHandle.ACCESSOR_FORMS:[Ljava/lang/invoke/LambdaForm;
iload 4
aaload
astore 5
start local 5 3: aload 5
ifnull 4
aload 5
areturn
4: StackMap locals: int int java.lang.invoke.LambdaForm
StackMap stack:
iload 0
iload 1
iload 3
invokestatic java.lang.invoke.DirectMethodHandle.makePreparedFieldLambdaForm:(BZI)Ljava/lang/invoke/LambdaForm;
astore 5
5: getstatic java.lang.invoke.DirectMethodHandle.ACCESSOR_FORMS:[Ljava/lang/invoke/LambdaForm;
iload 4
aload 5
aastore
6: 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 7 0 formOp B
0 7 1 isVolatile Z
0 7 2 ftype Ljava/lang/Class<*>;
1 7 3 ftypeKind I
2 7 4 afIndex I
3 7 5 lform Ljava/lang/invoke/LambdaForm;
Signature: (BZLjava/lang/Class<*>;)Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
formOp
isVolatile
ftype
private static java.lang.invoke.LambdaForm$Kind getFieldKind(boolean, boolean, sun.invoke.util.Wrapper);
descriptor: (ZZLsun/invoke/util/Wrapper;)Ljava/lang/invoke/LambdaForm$Kind;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
ifeq 24
1: iload 1
ifeq 13
2: invokestatic java.lang.invoke.DirectMethodHandle.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 2
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 3
2: 4
3: 5
4: 6
5: 7
6: 8
7: 9
8: 10
9: 11
default: 12
}
3: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_BOOLEAN_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
4: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_BYTE_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
5: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_SHORT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
6: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_CHAR_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
7: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_INT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
8: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_LONG_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
9: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_FLOAT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
10: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_DOUBLE_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
11: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_REFERENCE_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
12: StackMap locals:
StackMap stack:
goto 46
13: StackMap locals:
StackMap stack:
invokestatic java.lang.invoke.DirectMethodHandle.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 2
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 14
2: 15
3: 16
4: 17
5: 18
6: 19
7: 20
8: 21
9: 22
default: 23
}
14: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_BOOLEAN:Ljava/lang/invoke/LambdaForm$Kind;
areturn
15: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_BYTE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
16: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_SHORT:Ljava/lang/invoke/LambdaForm$Kind;
areturn
17: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_CHAR:Ljava/lang/invoke/LambdaForm$Kind;
areturn
18: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_INT:Ljava/lang/invoke/LambdaForm$Kind;
areturn
19: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_LONG:Ljava/lang/invoke/LambdaForm$Kind;
areturn
20: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_FLOAT:Ljava/lang/invoke/LambdaForm$Kind;
areturn
21: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_DOUBLE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
22: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.GET_REFERENCE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
23: StackMap locals:
StackMap stack:
goto 46
24: StackMap locals:
StackMap stack:
iload 1
ifeq 36
25: invokestatic java.lang.invoke.DirectMethodHandle.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 2
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 26
2: 27
3: 28
4: 29
5: 30
6: 31
7: 32
8: 33
9: 34
default: 35
}
26: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_BOOLEAN_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
27: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_BYTE_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
28: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_SHORT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
29: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_CHAR_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
30: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_INT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
31: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_LONG_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
32: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_FLOAT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
33: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_DOUBLE_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
34: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_REFERENCE_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
35: StackMap locals:
StackMap stack:
goto 46
36: StackMap locals:
StackMap stack:
invokestatic java.lang.invoke.DirectMethodHandle.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 2
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 37
2: 38
3: 39
4: 40
5: 41
6: 42
7: 43
8: 44
9: 45
default: 46
}
37: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_BOOLEAN:Ljava/lang/invoke/LambdaForm$Kind;
areturn
38: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_BYTE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
39: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_SHORT:Ljava/lang/invoke/LambdaForm$Kind;
areturn
40: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_CHAR:Ljava/lang/invoke/LambdaForm$Kind;
areturn
41: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_INT:Ljava/lang/invoke/LambdaForm$Kind;
areturn
42: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_LONG:Ljava/lang/invoke/LambdaForm$Kind;
areturn
43: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_FLOAT:Ljava/lang/invoke/LambdaForm$Kind;
areturn
44: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_DOUBLE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
45: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.LambdaForm$Kind.PUT_REFERENCE:Ljava/lang/invoke/LambdaForm$Kind;
areturn
46: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "Invalid arguments"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 isGetter Z
0 47 1 isVolatile Z
0 47 2 wrapper Lsun/invoke/util/Wrapper;
MethodParameters:
Name Flags
isGetter
isVolatile
wrapper
static java.lang.invoke.LambdaForm makePreparedFieldLambdaForm(byte, boolean, int);
descriptor: (BZI)Ljava/lang/invoke/LambdaForm;
flags: (0x0008) ACC_STATIC
Code:
stack=12, locals=32, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iconst_1
iand
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: iload 0
iconst_2
if_icmplt 4
iconst_1
goto 5
StackMap locals: int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 4
start local 4 6: iload 0
iconst_4
if_icmplt 7
iconst_1
goto 8
StackMap locals: int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 5
start local 5 9: iload 2
bipush 10
if_icmpne 10
iconst_1
goto 11
StackMap locals: int
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 6
start local 6 12: iload 6
ifeq 13
getstatic sun.invoke.util.Wrapper.OBJECT:Lsun/invoke/util/Wrapper;
goto 14
StackMap locals: int
StackMap stack:
13: getstatic java.lang.invoke.DirectMethodHandle.ALL_WRAPPERS:[Lsun/invoke/util/Wrapper;
iload 2
aaload
StackMap locals:
StackMap stack: sun.invoke.util.Wrapper
14: astore 7
start local 7 15: aload 7
invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
astore 8
start local 8 16: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 19
iload 6
ifeq 17
ldc Ljava/lang/String;
goto 18
StackMap locals: sun.invoke.util.Wrapper java.lang.Class
StackMap stack:
17: aload 8
StackMap locals:
StackMap stack: java.lang.Class
18: invokestatic java.lang.invoke.DirectMethodHandle.ftypeKind:(Ljava/lang/Class;)I
iload 2
if_icmpeq 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
iload 3
iload 1
aload 7
invokestatic java.lang.invoke.DirectMethodHandle.getFieldKind:(ZZLsun/invoke/util/Wrapper;)Ljava/lang/invoke/LambdaForm$Kind;
astore 9
start local 9 20: iload 3
ifeq 23
21: aload 8
ldc Ljava/lang/Object;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 10
start local 10 22: goto 24
end local 10 23: StackMap locals: java.lang.invoke.LambdaForm$Kind
StackMap stack:
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
ldc Ljava/lang/Object;
iconst_2
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
aload 8
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 10
start local 10 24: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
new java.lang.invoke.MemberName
dup
ldc Ljdk/internal/misc/Unsafe;
aload 9
getfield java.lang.invoke.LambdaForm$Kind.methodName:Ljava/lang/String;
aload 10
iconst_5
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
astore 11
start local 11 25: getstatic java.lang.invoke.DirectMethodHandle.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
iconst_5
aload 11
aconst_null
ldc Ljava/lang/NoSuchMethodException;
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 11
26: goto 29
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.invoke.LambdaForm$Kind java.lang.invoke.MethodType java.lang.invoke.MemberName
StackMap stack: java.lang.ReflectiveOperationException
27: astore 12
start local 12 28: aload 12
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 12 29: StackMap locals:
StackMap stack:
iload 3
ifeq 32
30: aload 8
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 12
start local 12 31: goto 33
end local 12 32: StackMap locals:
StackMap stack:
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
aload 8
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 12
start local 12 33: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
aload 12
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 12
34: iload 4
ifne 36
35: aload 12
iconst_0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 12
36: StackMap locals:
StackMap stack:
iconst_1
aload 12
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
istore 13
start local 13 37: iload 4
ifeq 38
iconst_m1
goto 39
StackMap locals: int
StackMap stack:
38: iconst_1
StackMap locals:
StackMap stack: int
39: istore 14
start local 14 40: iload 3
ifeq 41
iconst_m1
goto 42
StackMap locals: int
StackMap stack:
41: iload 13
iconst_1
isub
StackMap locals:
StackMap stack: int
42: istore 15
start local 15 43: iload 13
istore 16
start local 16 44: iload 4
ifeq 45
iload 16
iinc 16 1
goto 46
StackMap locals: int int
StackMap stack:
45: iconst_m1
StackMap locals:
StackMap stack: int
46: istore 17
start local 17 47: iload 16
iinc 16 1
istore 18
start local 18 48: iload 14
iflt 49
iload 16
iinc 16 1
goto 50
StackMap locals: int int
StackMap stack:
49: iconst_m1
StackMap locals:
StackMap stack: int
50: istore 19
start local 19 51: iload 16
iinc 16 1
istore 20
start local 20 52: iload 5
ifeq 53
iload 16
iinc 16 1
goto 54
StackMap locals: int int
StackMap stack:
53: iconst_m1
StackMap locals:
StackMap stack: int
54: istore 21
start local 21 55: iload 6
ifeq 56
iload 3
ifne 56
iload 16
iinc 16 1
goto 57
StackMap locals: int
StackMap stack:
56: iconst_m1
StackMap locals:
StackMap stack: int
57: istore 22
start local 22 58: iload 16
iinc 16 1
istore 23
start local 23 59: iload 6
ifeq 60
iload 3
ifeq 60
iload 16
iinc 16 1
goto 61
StackMap locals: int int
StackMap stack:
60: iconst_m1
StackMap locals:
StackMap stack: int
61: istore 24
start local 24 62: iload 16
iconst_1
isub
istore 25
start local 25 63: iload 16
iload 13
isub
aload 12
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 26
start local 26 64: iload 5
ifeq 66
65: aload 26
iload 21
new java.lang.invoke.LambdaForm$Name
dup
iconst_2
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 26
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
66: StackMap locals: int int java.lang.invoke.LambdaForm$Name[]
StackMap stack:
iload 6
ifeq 68
iload 3
ifne 68
67: aload 26
iload 22
new java.lang.invoke.LambdaForm$Name
dup
bipush 7
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 26
iconst_0
aaload
aastore
dup
iconst_1
aload 26
iload 15
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
68: StackMap locals:
StackMap stack:
iconst_1
aload 10
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
anewarray java.lang.Object
astore 27
start local 27 69: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 72
aload 27
arraylength
iload 3
ifeq 70
iconst_3
goto 71
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.invoke.LambdaForm$Kind java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack: int
70: iconst_4
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.invoke.LambdaForm$Kind java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack: int int
71: if_icmpeq 72
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
72: StackMap locals:
StackMap stack:
aload 27
iconst_0
aload 26
iload 20
new java.lang.invoke.LambdaForm$Name
dup
bipush 10
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)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
dup_x2
aastore
aastore
73: iload 4
ifeq 77
74: aload 27
iconst_1
aload 26
iload 17
new java.lang.invoke.LambdaForm$Name
dup
iconst_5
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 26
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
dup_x2
aastore
aastore
75: aload 27
iconst_2
aload 26
iload 18
new java.lang.invoke.LambdaForm$Name
dup
bipush 6
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 26
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
dup_x2
aastore
aastore
76: goto 79
77: StackMap locals:
StackMap stack:
aload 27
iconst_1
aload 26
iload 19
new java.lang.invoke.LambdaForm$Name
dup
iconst_4
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 26
iload 14
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
dup_x2
aastore
aastore
78: aload 27
iconst_2
aload 26
iload 18
new java.lang.invoke.LambdaForm$Name
dup
iconst_3
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 26
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
dup_x2
aastore
aastore
79: StackMap locals:
StackMap stack:
iload 3
ifne 83
80: aload 27
iconst_3
iload 6
ifeq 81
aload 26
iload 22
aaload
goto 82
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.invoke.LambdaForm$Kind java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack: java.lang.Object[] int
81: aload 26
iload 15
aaload
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.invoke.LambdaForm$Kind java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack: java.lang.Object[] int java.lang.invoke.LambdaForm$Name
82: aastore
83: StackMap locals:
StackMap stack:
aload 27
dup
astore 31
arraylength
istore 30
iconst_0
istore 29
goto 87
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.invoke.LambdaForm$Kind java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[] top int int java.lang.Object[]
StackMap stack:
84: aload 31
iload 29
aaload
astore 28
start local 28 85: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 86
aload 28
ifnonnull 86
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 28 StackMap locals:
StackMap stack:
86: iinc 29 1
StackMap locals:
StackMap stack:
87: iload 29
iload 30
if_icmplt 84
88: aload 26
iload 23
new java.lang.invoke.LambdaForm$Name
dup
aload 11
aload 27
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MemberName;[Ljava/lang/Object;)V
aastore
89: iload 6
ifeq 91
iload 3
ifeq 91
90: aload 26
iload 24
new java.lang.invoke.LambdaForm$Name
dup
bipush 7
invokestatic java.lang.invoke.DirectMethodHandle.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 26
iconst_0
aaload
aastore
dup
iconst_1
aload 26
iload 23
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
91: StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.invoke.LambdaForm$Kind java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack:
aload 26
dup
astore 31
arraylength
istore 30
iconst_0
istore 29
goto 95
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.invoke.LambdaForm$Kind java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[] top int int java.lang.invoke.LambdaForm$Name[]
StackMap stack:
92: aload 31
iload 29
aaload
astore 28
start local 28 93: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 94
aload 28
ifnonnull 94
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 28 StackMap locals:
StackMap stack:
94: iinc 29 1
StackMap locals:
StackMap stack:
95: iload 29
iload 30
if_icmplt 92
96: iload 6
ifne 97
iload 5
ifeq 99
97: StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.invoke.LambdaForm$Kind java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack:
new java.lang.invoke.LambdaForm
dup
iload 13
aload 26
iload 25
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;I)V
astore 28
start local 28 98: goto 100
end local 28 99: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaForm
dup
iload 13
aload 26
iload 25
aload 9
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;ILjava/lang/invoke/LambdaForm$Kind;)V
astore 28
start local 28 100: StackMap locals: java.lang.invoke.LambdaForm
StackMap stack:
invokestatic java.lang.invoke.LambdaForm.debugNames:()Z
ifeq 111
101: new java.lang.StringBuilder
dup
aload 9
getfield java.lang.invoke.LambdaForm$Kind.methodName:Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 29
start local 29 102: iload 4
ifeq 105
103: aload 29
ldc "Static"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
104: goto 106
105: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 29
ldc "Field"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
106: StackMap locals:
StackMap stack:
iload 6
ifeq 108
107: aload 29
ldc "Cast"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
108: StackMap locals:
StackMap stack:
iload 5
ifeq 110
109: aload 29
ldc "Init"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
110: StackMap locals:
StackMap stack:
aload 28
aload 29
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.LambdaForm.associateWithDebugName:(Ljava/lang/invoke/LambdaForm;Ljava/lang/String;)V
end local 29 111: StackMap locals:
StackMap stack:
aload 28
areturn
end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 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 112 0 formOp B
0 112 1 isVolatile Z
0 112 2 ftypeKind I
3 112 3 isGetter Z
6 112 4 isStatic Z
9 112 5 needsInit Z
12 112 6 needsCast Z
15 112 7 fw Lsun/invoke/util/Wrapper;
16 112 8 ft Ljava/lang/Class<*>;
20 112 9 kind Ljava/lang/invoke/LambdaForm$Kind;
22 23 10 linkerType Ljava/lang/invoke/MethodType;
24 112 10 linkerType Ljava/lang/invoke/MethodType;
25 112 11 linker Ljava/lang/invoke/MemberName;
28 29 12 ex Ljava/lang/ReflectiveOperationException;
31 32 12 mtype Ljava/lang/invoke/MethodType;
33 112 12 mtype Ljava/lang/invoke/MethodType;
37 112 13 ARG_LIMIT I
40 112 14 OBJ_BASE I
43 112 15 SET_VALUE I
44 112 16 nameCursor I
47 112 17 F_HOLDER I
48 112 18 F_OFFSET I
51 112 19 OBJ_CHECK I
52 112 20 U_HOLDER I
55 112 21 INIT_BAR I
58 112 22 PRE_CAST I
59 112 23 LINKER_CALL I
62 112 24 POST_CAST I
63 112 25 RESULT I
64 112 26 names [Ljava/lang/invoke/LambdaForm$Name;
69 112 27 outArgs [Ljava/lang/Object;
85 86 28 a Ljava/lang/Object;
93 94 28 n Ljava/lang/invoke/LambdaForm$Name;
98 99 28 form Ljava/lang/invoke/LambdaForm;
100 112 28 form Ljava/lang/invoke/LambdaForm;
102 111 29 nameBuilder Ljava/lang/StringBuilder;
Exception table:
from to target type
25 26 27 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
formOp
isVolatile
ftypeKind
private static java.lang.invoke.LambdaForm$NamedFunction getFunction(byte);
descriptor: (B)Ljava/lang/invoke/LambdaForm$NamedFunction;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic java.lang.invoke.DirectMethodHandle.NFS:[Ljava/lang/invoke/LambdaForm$NamedFunction;
iload 0
aaload
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.invoke.LambdaForm$NamedFunction
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.NFS:[Ljava/lang/invoke/LambdaForm$NamedFunction;
iload 0
iload 0
invokestatic java.lang.invoke.DirectMethodHandle.createFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
dup_x2
aastore
astore 1
4: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 5
iconst_1
anewarray java.lang.invoke.LambdaForm$NamedFunction
dup
iconst_0
aload 1
aastore
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyInvocable:([Ljava/lang/invoke/LambdaForm$NamedFunction;)Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 func B
1 6 1 nf Ljava/lang/invoke/LambdaForm$NamedFunction;
MethodParameters:
Name Flags
func
private static java.lang.invoke.LambdaForm$NamedFunction createFunction(byte);
descriptor: (B)Ljava/lang/invoke/LambdaForm$NamedFunction;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: iload 0
tableswitch { // 0 - 11
0: 1
1: 3
2: 5
3: 7
4: 9
5: 11
6: 13
7: 15
8: 17
9: 19
10: 21
11: 27
default: 33
}
1: StackMap locals:
StackMap stack:
ldc "internalMemberName"
getstatic java.lang.invoke.DirectMethodHandle.OBJ_OBJ_TYPE:Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.DirectMethodHandle.getNamedFunction:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
2: areturn
3: StackMap locals:
StackMap stack:
ldc "internalMemberNameEnsureInit"
getstatic java.lang.invoke.DirectMethodHandle.OBJ_OBJ_TYPE:Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.DirectMethodHandle.getNamedFunction:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
4: areturn
5: StackMap locals:
StackMap stack:
ldc "ensureInitialized"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
ldc Ljava/lang/Object;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.DirectMethodHandle.getNamedFunction:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
6: areturn
7: StackMap locals:
StackMap stack:
ldc "fieldOffset"
getstatic java.lang.invoke.DirectMethodHandle.LONG_OBJ_TYPE:Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.DirectMethodHandle.getNamedFunction:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
8: areturn
9: StackMap locals:
StackMap stack:
ldc "checkBase"
getstatic java.lang.invoke.DirectMethodHandle.OBJ_OBJ_TYPE:Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.DirectMethodHandle.getNamedFunction:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
10: areturn
11: StackMap locals:
StackMap stack:
ldc "staticBase"
getstatic java.lang.invoke.DirectMethodHandle.OBJ_OBJ_TYPE:Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.DirectMethodHandle.getNamedFunction:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
12: areturn
13: StackMap locals:
StackMap stack:
ldc "staticOffset"
getstatic java.lang.invoke.DirectMethodHandle.LONG_OBJ_TYPE:Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.DirectMethodHandle.getNamedFunction:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
14: areturn
15: StackMap locals:
StackMap stack:
ldc "checkCast"
ldc Ljava/lang/Object;
ldc Ljava/lang/Object;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.DirectMethodHandle.getNamedFunction:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
16: areturn
17: StackMap locals:
StackMap stack:
ldc "allocateInstance"
getstatic java.lang.invoke.DirectMethodHandle.OBJ_OBJ_TYPE:Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.DirectMethodHandle.getNamedFunction:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
18: areturn
19: StackMap locals:
StackMap stack:
ldc "constructorMethod"
getstatic java.lang.invoke.DirectMethodHandle.OBJ_OBJ_TYPE:Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.DirectMethodHandle.getNamedFunction:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
20: areturn
21: StackMap locals:
StackMap stack:
new java.lang.invoke.MemberName
dup
ldc Ljava/lang/invoke/MethodHandleStatics;
ldc "UNSAFE"
ldc Ljdk/internal/misc/Unsafe;
iconst_1
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;B)V
astore 1
start local 1 22: new java.lang.invoke.LambdaForm$NamedFunction
dup
23: invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
24: iconst_1
aload 1
ldc Ljava/lang/invoke/DirectMethodHandle;
ldc Ljava/lang/NoSuchMethodException;
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
25: invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;)V
26: areturn
end local 1 27: StackMap locals:
StackMap stack:
new java.lang.invoke.MemberName
dup
ldc Ljava/lang/invoke/DirectMethodHandle;
ldc "checkReceiver"
getstatic java.lang.invoke.DirectMethodHandle.OBJ_OBJ_TYPE:Ljava/lang/invoke/MethodType;
iconst_5
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
astore 1
start local 1 28: new java.lang.invoke.LambdaForm$NamedFunction
dup
29: invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
30: iconst_5
aload 1
ldc Ljava/lang/invoke/DirectMethodHandle;
ldc Ljava/lang/NoSuchMethodException;
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
31: invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;)V
32: areturn
end local 1 33: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unknown function: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
athrow
34: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
astore 1
start local 1 35: aload 1
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 func B
22 27 1 member Ljava/lang/invoke/MemberName;
28 33 1 member Ljava/lang/invoke/MemberName;
35 36 1 ex Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 2 34 Class java.lang.ReflectiveOperationException
3 4 34 Class java.lang.ReflectiveOperationException
5 6 34 Class java.lang.ReflectiveOperationException
7 8 34 Class java.lang.ReflectiveOperationException
9 10 34 Class java.lang.ReflectiveOperationException
11 12 34 Class java.lang.ReflectiveOperationException
13 14 34 Class java.lang.ReflectiveOperationException
15 16 34 Class java.lang.ReflectiveOperationException
17 18 34 Class java.lang.ReflectiveOperationException
19 20 34 Class java.lang.ReflectiveOperationException
21 26 34 Class java.lang.ReflectiveOperationException
27 32 34 Class java.lang.ReflectiveOperationException
33 34 34 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
func
private static java.lang.invoke.LambdaForm$NamedFunction getNamedFunction(java.lang.String, java.lang.invoke.MethodType);
descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.invoke.MemberName
dup
ldc Ljava/lang/invoke/DirectMethodHandle;
aload 0
aload 1
bipush 6
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
astore 2
start local 2 1: new java.lang.invoke.LambdaForm$NamedFunction
dup
2: invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
3: bipush 6
aload 2
ldc Ljava/lang/invoke/DirectMethodHandle;
ldc Ljava/lang/NoSuchMethodException;
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
4: invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 name Ljava/lang/String;
0 5 1 type Ljava/lang/invoke/MethodType;
1 5 2 member Ljava/lang/invoke/MemberName;
Exceptions:
throws java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
name
type
java.lang.Object internalProperties();
descriptor: ()Ljava/lang/Object;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.lang.invoke.DirectMethodHandle.internalProperties:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$sun$invoke$util$Wrapper();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic java.lang.invoke.DirectMethodHandle.$SWITCH_TABLE$sun$invoke$util$Wrapper:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic sun.invoke.util.Wrapper.values:()[Lsun/invoke/util/Wrapper;
arraylength
newarray 10
astore 0
2: aload 0
getstatic sun.invoke.util.Wrapper.BOOLEAN:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic sun.invoke.util.Wrapper.BYTE:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic sun.invoke.util.Wrapper.CHAR:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic sun.invoke.util.Wrapper.DOUBLE:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
bipush 8
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic sun.invoke.util.Wrapper.FLOAT:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
bipush 7
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic sun.invoke.util.Wrapper.INT:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iconst_5
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic sun.invoke.util.Wrapper.LONG:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
bipush 6
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic sun.invoke.util.Wrapper.OBJECT:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
bipush 9
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic sun.invoke.util.Wrapper.SHORT:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iconst_3
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic sun.invoke.util.Wrapper.VOID:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
bipush 10
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
dup
putstatic java.lang.invoke.DirectMethodHandle.$SWITCH_TABLE$sun$invoke$util$Wrapper:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
}
SourceFile: "DirectMethodHandle.java"
NestMembers:
java.lang.invoke.DirectMethodHandle$Accessor java.lang.invoke.DirectMethodHandle$Constructor java.lang.invoke.DirectMethodHandle$EnsureInitialized java.lang.invoke.DirectMethodHandle$Holder java.lang.invoke.DirectMethodHandle$Interface java.lang.invoke.DirectMethodHandle$Special java.lang.invoke.DirectMethodHandle$StaticAccessor
InnerClasses:
Accessor = java.lang.invoke.DirectMethodHandle$Accessor of java.lang.invoke.DirectMethodHandle
Constructor = java.lang.invoke.DirectMethodHandle$Constructor of java.lang.invoke.DirectMethodHandle
private EnsureInitialized = java.lang.invoke.DirectMethodHandle$EnsureInitialized of java.lang.invoke.DirectMethodHandle
final Holder = java.lang.invoke.DirectMethodHandle$Holder of java.lang.invoke.DirectMethodHandle
Interface = java.lang.invoke.DirectMethodHandle$Interface of java.lang.invoke.DirectMethodHandle
Special = java.lang.invoke.DirectMethodHandle$Special of java.lang.invoke.DirectMethodHandle
StaticAccessor = java.lang.invoke.DirectMethodHandle$StaticAccessor of java.lang.invoke.DirectMethodHandle
final Kind = java.lang.invoke.LambdaForm$Kind of java.lang.invoke.LambdaForm
final Name = java.lang.invoke.LambdaForm$Name of java.lang.invoke.LambdaForm
NamedFunction = java.lang.invoke.LambdaForm$NamedFunction of java.lang.invoke.LambdaForm
Factory = java.lang.invoke.MemberName$Factory of java.lang.invoke.MemberName