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
final boolean crackable;
descriptor: Z
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, boolean);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 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 int
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 5
start local 5 6: invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
aload 5
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
aload 5
aconst_null
iconst_m1
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrNull:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;I)Ljava/lang/invoke/MemberName;
astore 5
7: aload 5
ifnull 10
aload 5
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 5
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 5
astore 3
end local 5 10: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
11: aload 0
iload 4
putfield java.lang.invoke.DirectMethodHandle.crackable:Z
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/lang/invoke/DirectMethodHandle;
0 13 1 mtype Ljava/lang/invoke/MethodType;
0 13 2 form Ljava/lang/invoke/LambdaForm;
0 13 3 member Ljava/lang/invoke/MemberName;
0 13 4 crackable Z
6 10 5 m Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
mtype
form
member
crackable
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=9, 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
iconst_1
aload 3
invokespecial java.lang.invoke.DirectMethodHandle$Special.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;ZLjava/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
iconst_1
aload 1
invokespecial java.lang.invoke.DirectMethodHandle$Interface.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;ZLjava/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
iconst_1
invokespecial java.lang.invoke.DirectMethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Z)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
iconst_1
aload 8
lload 6
invokespecial java.lang.invoke.DirectMethodHandle$StaticAccessor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;ZLjava/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
iconst_1
lload 6
l2i
invokespecial java.lang.invoke.DirectMethodHandle$Accessor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;ZI)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=8, 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
iconst_1
aload 4
aload 1
invokespecial java.lang.invoke.DirectMethodHandle$Constructor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;ZLjava/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=6, 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;
aload 0
getfield java.lang.invoke.DirectMethodHandle.crackable:Z
invokespecial java.lang.invoke.DirectMethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Z)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.invoke.MethodHandle viewAsType(java.lang.invoke.MethodType, boolean);
descriptor: (Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
flags: (0x0000)
Code:
stack=6, 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
aload 1
iload 2
invokevirtual java.lang.invoke.DirectMethodHandle.viewAsTypeChecks:(Ljava/lang/invoke/MethodType;Z)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/invoke/DirectMethodHandle;
if_acmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
new java.lang.invoke.DirectMethodHandle
dup
aload 1
aload 0
getfield java.lang.invoke.DirectMethodHandle.form:Ljava/lang/invoke/LambdaForm;
aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
iconst_0
invokespecial java.lang.invoke.DirectMethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Z)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/DirectMethodHandle;
0 3 1 newType Ljava/lang/invoke/MethodType;
0 3 2 strict Z
MethodParameters:
Name Flags
newType
strict
boolean isCrackable();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.DirectMethodHandle.crackable:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/DirectMethodHandle;
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
iconst_m1
42: ldc Ljava/lang/NoSuchMethodException;
43: invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;ILjava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 8
44: goto 47
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
45: astore 9
start local 9 46: aload 9
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 9 47: StackMap locals:
StackMap stack:
iconst_1
aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
istore 9
start local 9 48: iload 9
istore 10
start local 10 49: iload 3
ifeq 50
iload 10
iinc 10 1
goto 51
StackMap locals: int int
StackMap stack:
50: iconst_m1
StackMap locals:
StackMap stack: int
51: istore 11
start local 11 52: iload 10
iinc 10 1
istore 12
start local 12 53: iload 4
ifeq 54
iload 10
iinc 10 1
goto 55
StackMap locals: int int
StackMap stack:
54: iconst_m1
StackMap locals:
StackMap stack: int
55: istore 13
start local 13 56: iload 10
iinc 10 1
istore 14
start local 14 57: 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 58: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 59
aload 15
arraylength
iload 10
if_icmpeq 59
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
59: StackMap locals: int int java.lang.invoke.LambdaForm$Name[]
StackMap stack:
iload 3
ifeq 63
60: 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
61: 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
62: goto 67
StackMap locals:
StackMap stack:
63: iload 2
ifeq 66
64: 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
65: goto 67
66: 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
67: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 68
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 68
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
68: 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 69: iload 4
ifeq 72
70: 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
71: aload 16
iconst_0
aload 15
iload 13
aaload
aastore
72: StackMap locals: java.lang.Object[]
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 73
aload 16
aload 16
arraylength
iconst_1
isub
aaload
aload 15
iload 12
aaload
if_acmpeq 73
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
73: StackMap locals:
StackMap stack:
bipush -2
istore 17
start local 17 74: iload 3
ifeq 79
75: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 76
aload 16
aload 16
arraylength
iconst_2
isub
aaload
aload 15
iload 11
aaload
if_acmpeq 76
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
76: 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
77: aload 16
iconst_0
aload 15
iload 11
aaload
aastore
78: iload 11
istore 17
79: 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
80: 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 81: aload 18
invokevirtual java.lang.invoke.LambdaForm.compileToBytecode:()V
82: 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 83 0 mtype Ljava/lang/invoke/MethodType;
0 83 1 which I
3 83 2 needsInit Z
6 83 3 doesAlloc Z
11 83 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 83 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 83 6 kind Ljava/lang/invoke/LambdaForm$Kind;
35 83 7 mtypeWithArg Ljava/lang/invoke/MethodType;
41 83 8 linker Ljava/lang/invoke/MemberName;
46 47 9 ex Ljava/lang/ReflectiveOperationException;
48 83 9 ARG_LIMIT I
49 83 10 nameCursor I
52 83 11 NEW_OBJ I
53 83 12 GET_MEMBER I
56 83 13 CHECK_RECEIVER I
57 83 14 LINKER_CALL I
58 83 15 names [Ljava/lang/invoke/LambdaForm$Name;
69 83 16 outArgs [Ljava/lang/Object;
74 83 17 result I
81 83 18 lform Ljava/lang/invoke/LambdaForm;
Exception table:
from to target type
41 44 45 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=4, 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 2
1: aload 0
new java.lang.invoke.DirectMethodHandle$1
dup
aload 0
invokespecial java.lang.invoke.DirectMethodHandle$1.<init>:(Ljava/lang/invoke/DirectMethodHandle;)V
invokevirtual java.lang.invoke.DirectMethodHandle.updateForm:(Ljava/util/function/Function;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 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=3, 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
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.ref.WeakReference.refersTo:(Ljava/lang/Object;)Z
ifeq 7
5: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
invokevirtual jdk.internal.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ifeq 8
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
invokevirtual jdk.internal.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
8: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 9
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
invokevirtual jdk.internal.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ifeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: 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
10: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 member Ljava/lang/invoke/MemberName;
1 11 1 defc Ljava/lang/Class<*>;
2 11 2 ref Ljava/lang/ref/WeakReference<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
iconst_m1
26: ldc Ljava/lang/NoSuchMethodException;
27: invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;ILjava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 11
28: goto 31
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
29: astore 12
start local 12 30: aload 12
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 12 31: StackMap locals:
StackMap stack:
iload 3
ifeq 34
32: aload 8
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 12
start local 12 33: goto 35
end local 12 34: 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 35: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
aload 12
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 12
36: iload 4
ifne 38
37: 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
38: StackMap locals:
StackMap stack:
iconst_1
aload 12
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
istore 13
start local 13 39: iload 4
ifeq 40
iconst_m1
goto 41
StackMap locals: int
StackMap stack:
40: iconst_1
StackMap locals:
StackMap stack: int
41: istore 14
start local 14 42: iload 3
ifeq 43
iconst_m1
goto 44
StackMap locals: int
StackMap stack:
43: iload 13
iconst_1
isub
StackMap locals:
StackMap stack: int
44: istore 15
start local 15 45: iload 13
istore 16
start local 16 46: iload 4
ifeq 47
iload 16
iinc 16 1
goto 48
StackMap locals: int int
StackMap stack:
47: iconst_m1
StackMap locals:
StackMap stack: int
48: istore 17
start local 17 49: iload 16
iinc 16 1
istore 18
start local 18 50: iload 14
iflt 51
iload 16
iinc 16 1
goto 52
StackMap locals: int int
StackMap stack:
51: iconst_m1
StackMap locals:
StackMap stack: int
52: istore 19
start local 19 53: iload 16
iinc 16 1
istore 20
start local 20 54: iload 5
ifeq 55
iload 16
iinc 16 1
goto 56
StackMap locals: int int
StackMap stack:
55: iconst_m1
StackMap locals:
StackMap stack: int
56: istore 21
start local 21 57: iload 6
ifeq 58
iload 3
ifne 58
iload 16
iinc 16 1
goto 59
StackMap locals: int
StackMap stack:
58: iconst_m1
StackMap locals:
StackMap stack: int
59: istore 22
start local 22 60: iload 16
iinc 16 1
istore 23
start local 23 61: iload 6
ifeq 62
iload 3
ifeq 62
iload 16
iinc 16 1
goto 63
StackMap locals: int int
StackMap stack:
62: iconst_m1
StackMap locals:
StackMap stack: int
63: istore 24
start local 24 64: iload 16
iconst_1
isub
istore 25
start local 25 65: 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 66: iload 5
ifeq 68
67: 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
68: StackMap locals: int int java.lang.invoke.LambdaForm$Name[]
StackMap stack:
iload 6
ifeq 70
iload 3
ifne 70
69: 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
70: 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 71: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 74
aload 27
arraylength
iload 3
ifeq 72
iconst_3
goto 73
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
72: 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
73: if_icmpeq 74
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
74: 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
75: iload 4
ifeq 79
76: 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
77: 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
78: goto 81
79: 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
80: 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
81: StackMap locals:
StackMap stack:
iload 3
ifne 85
82: aload 27
iconst_3
iload 6
ifeq 83
aload 26
iload 22
aaload
goto 84
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
83: 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
84: aastore
85: StackMap locals:
StackMap stack:
aload 27
dup
astore 31
arraylength
istore 30
iconst_0
istore 29
goto 89
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:
86: aload 31
iload 29
aaload
astore 28
start local 28 87: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 88
aload 28
ifnonnull 88
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 28 StackMap locals:
StackMap stack:
88: iinc 29 1
StackMap locals:
StackMap stack:
89: iload 29
iload 30
if_icmplt 86
90: 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
91: iload 6
ifeq 93
iload 3
ifeq 93
92: 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
93: 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 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[] top int int java.lang.invoke.LambdaForm$Name[]
StackMap stack:
94: aload 31
iload 29
aaload
astore 28
start local 28 95: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 96
aload 28
ifnonnull 96
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 28 StackMap locals:
StackMap stack:
96: iinc 29 1
StackMap locals:
StackMap stack:
97: iload 29
iload 30
if_icmplt 94
98: iload 6
ifne 99
iload 5
ifeq 101
99: 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 100: goto 102
end local 28 101: 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 102: StackMap locals: java.lang.invoke.LambdaForm
StackMap stack:
invokestatic java.lang.invoke.LambdaForm.debugNames:()Z
ifeq 113
103: 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 104: iload 4
ifeq 107
105: aload 29
ldc "Static"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
106: goto 108
107: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 29
ldc "Field"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
108: StackMap locals:
StackMap stack:
iload 6
ifeq 110
109: aload 29
ldc "Cast"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
110: StackMap locals:
StackMap stack:
iload 5
ifeq 112
111: aload 29
ldc "Init"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
112: 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 113: 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 114 0 formOp B
0 114 1 isVolatile Z
0 114 2 ftypeKind I
3 114 3 isGetter Z
6 114 4 isStatic Z
9 114 5 needsInit Z
12 114 6 needsCast Z
15 114 7 fw Lsun/invoke/util/Wrapper;
16 114 8 ft Ljava/lang/Class<*>;
20 114 9 kind Ljava/lang/invoke/LambdaForm$Kind;
22 23 10 linkerType Ljava/lang/invoke/MethodType;
24 114 10 linkerType Ljava/lang/invoke/MethodType;
25 114 11 linker Ljava/lang/invoke/MemberName;
30 31 12 ex Ljava/lang/ReflectiveOperationException;
33 34 12 mtype Ljava/lang/invoke/MethodType;
35 114 12 mtype Ljava/lang/invoke/MethodType;
39 114 13 ARG_LIMIT I
42 114 14 OBJ_BASE I
45 114 15 SET_VALUE I
46 114 16 nameCursor I
49 114 17 F_HOLDER I
50 114 18 F_OFFSET I
53 114 19 OBJ_CHECK I
54 114 20 U_HOLDER I
57 114 21 INIT_BAR I
60 114 22 PRE_CAST I
61 114 23 LINKER_CALL I
64 114 24 POST_CAST I
65 114 25 RESULT I
66 114 26 names [Ljava/lang/invoke/LambdaForm$Name;
71 114 27 outArgs [Ljava/lang/Object;
87 88 28 a Ljava/lang/Object;
95 96 28 n Ljava/lang/invoke/LambdaForm$Name;
100 101 28 form Ljava/lang/invoke/LambdaForm;
102 114 28 form Ljava/lang/invoke/LambdaForm;
104 113 29 nameBuilder Ljava/lang/StringBuilder;
Exception table:
from to target type
25 28 29 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=8, 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: 29
default: 37
}
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;
iconst_1
aload 1
24: ldc Ljava/lang/invoke/DirectMethodHandle;
iconst_m1
25: ldc Ljava/lang/NoSuchMethodException;
26: invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;ILjava/lang/Class;)Ljava/lang/invoke/MemberName;
27: invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;)V
28: areturn
end local 1 29: 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 30: new java.lang.invoke.LambdaForm$NamedFunction
dup
31: invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
iconst_5
aload 1
32: ldc Ljava/lang/invoke/DirectMethodHandle;
iconst_m1
33: ldc Ljava/lang/NoSuchMethodException;
34: invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;ILjava/lang/Class;)Ljava/lang/invoke/MemberName;
35: invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;)V
36: areturn
end local 1 37: 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
38: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
astore 1
start local 1 39: 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 40 0 func B
22 29 1 member Ljava/lang/invoke/MemberName;
30 37 1 member Ljava/lang/invoke/MemberName;
39 40 1 ex Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 2 38 Class java.lang.ReflectiveOperationException
3 4 38 Class java.lang.ReflectiveOperationException
5 6 38 Class java.lang.ReflectiveOperationException
7 8 38 Class java.lang.ReflectiveOperationException
9 10 38 Class java.lang.ReflectiveOperationException
11 12 38 Class java.lang.ReflectiveOperationException
13 14 38 Class java.lang.ReflectiveOperationException
15 16 38 Class java.lang.ReflectiveOperationException
17 18 38 Class java.lang.ReflectiveOperationException
19 20 38 Class java.lang.ReflectiveOperationException
21 28 38 Class java.lang.ReflectiveOperationException
29 36 38 Class java.lang.ReflectiveOperationException
37 38 38 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=8, 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;
bipush 6
aload 2
3: ldc Ljava/lang/invoke/DirectMethodHandle;
iconst_m1
4: ldc Ljava/lang/NoSuchMethodException;
5: invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;ILjava/lang/Class;)Ljava/lang/invoke/MemberName;
6: 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 7 0 name Ljava/lang/String;
0 7 1 type Ljava/lang/invoke/MethodType;
1 7 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$1 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:
java.lang.invoke.DirectMethodHandle$1
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