class java.lang.invoke.LambdaForm$NamedFunction
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.lang.invoke.LambdaForm$NamedFunction
super_class: java.lang.Object
{
final java.lang.invoke.MemberName member;
descriptor: Ljava/lang/invoke/MemberName;
flags: (0x0010) ACC_FINAL
private java.lang.invoke.MethodHandle resolvedHandle;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
java.lang.invoke.MethodHandle invoker;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x0000)
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
private final java.lang.invoke.MethodHandleImpl$Intrinsic intrinsicName;
descriptor: Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final java.lang.invoke.MethodType INVOKER_METHOD_TYPE;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: ldc Ljava/lang/invoke/LambdaForm;
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.LambdaForm$NamedFunction.$assertionsDisabled:Z
3: ldc Ljava/lang/Object;
ldc Ljava/lang/invoke/MethodHandle;
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;
4: putstatic java.lang.invoke.LambdaForm$NamedFunction.INVOKER_METHOD_TYPE:Ljava/lang/invoke/MethodType;
5: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
aload 1
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NONE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
0 2 1 resolvedHandle Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
resolvedHandle
void <init>(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandleImpl$Intrinsic);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
aload 1
aload 2
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
0 2 1 resolvedHandle Ljava/lang/invoke/MethodHandle;
0 2 2 intrinsic Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
MethodParameters:
Name Flags
resolvedHandle
intrinsic
void <init>(java.lang.invoke.MemberName, java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NONE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
0 2 1 member Ljava/lang/invoke/MemberName;
0 2 2 resolvedHandle Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
member
resolvedHandle
void <init>(java.lang.invoke.MemberName, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandleImpl$Intrinsic);
descriptor: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
2: aload 0
aload 2
putfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
3: aload 0
aload 3
putfield java.lang.invoke.LambdaForm$NamedFunction.intrinsicName:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
4: getstatic java.lang.invoke.LambdaForm$NamedFunction.$assertionsDisabled:Z
ifne 7
aload 2
ifnull 7
5: aload 2
invokevirtual java.lang.invoke.MethodHandle.intrinsicName:()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NONE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
if_acmpeq 7
6: aload 2
invokevirtual java.lang.invoke.MethodHandle.intrinsicName:()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
aload 3
if_acmpeq 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokevirtual java.lang.invoke.MethodHandle.intrinsicName:()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: java.lang.invoke.LambdaForm$NamedFunction java.lang.invoke.MemberName java.lang.invoke.MethodHandle java.lang.invoke.MethodHandleImpl$Intrinsic
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
0 8 1 member Ljava/lang/invoke/MemberName;
0 8 2 resolvedHandle Ljava/lang/invoke/MethodHandle;
0 8 3 intrinsic Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
MethodParameters:
Name Flags
member
resolvedHandle
intrinsic
void <init>(java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/MethodType;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic java.lang.invoke.LambdaForm$NamedFunction.$assertionsDisabled:Z
ifne 2
aload 1
aload 1
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
if_acmpeq 2
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: java.lang.invoke.LambdaForm$NamedFunction java.lang.invoke.MethodType
StackMap stack:
aload 1
invokevirtual java.lang.invoke.MethodType.parameterSlotCount:()I
sipush 253
if_icmpge 6
3: aload 0
aload 1
invokevirtual java.lang.invoke.MethodType.invokers:()Ljava/lang/invoke/Invokers;
invokevirtual java.lang.invoke.Invokers.basicInvoker:()Ljava/lang/invoke/MethodHandle;
putfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
4: aload 0
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
putfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.lang.invoke.Invokers.invokeBasicMethod:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
putfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
7: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NONE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
putfield java.lang.invoke.LambdaForm$NamedFunction.intrinsicName:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
8: getstatic java.lang.invoke.LambdaForm$NamedFunction.$assertionsDisabled:Z
ifne 9
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
invokestatic java.lang.invoke.LambdaForm$NamedFunction.isInvokeBasic:(Ljava/lang/invoke/MemberName;)Z
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
0 10 1 basicInvokerType Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
basicInvokerType
private static boolean isInvokeBasic(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 4
1: aload 0
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
ldc Ljava/lang/invoke/MethodHandle;
if_acmpne 4
2: ldc "invokeBasic"
aload 0
invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 member Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
member
void <init>(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.lang.invoke.MemberName
dup
aload 1
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Method;)V
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
0 2 1 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method
void <init>(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
0 2 1 member Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
member
java.lang.invoke.MethodHandle resolvedHandle();
descriptor: ()Ljava/lang/invoke/MethodHandle;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
ifnonnull 1
aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolve:()V
1: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
synchronized void resolve();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
ifnonnull 2
1: aload 0
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
putfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.invoke.LambdaForm$NamedFunction
ifne 3
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.invoke.LambdaForm$NamedFunction
astore 2
start local 2 4: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
ifnull 5
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
aload 2
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.equals:(Ljava/lang/invoke/MemberName;)Z
ifeq 5
iconst_1
ireturn
StackMap locals: java.lang.invoke.LambdaForm$NamedFunction
StackMap stack:
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
0 6 1 other Ljava/lang/Object;
4 6 2 that Ljava/lang/invoke/LambdaForm$NamedFunction;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
ifnull 2
1: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.hashCode:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial java.lang.Object.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
private static java.lang.invoke.MethodHandle computeInvoker(java.lang.invoke.MethodTypeForm);
descriptor: (Ljava/lang/invoke/MethodTypeForm;)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MethodTypeForm.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
astore 0
1: aload 0
iconst_1
invokevirtual java.lang.invoke.MethodTypeForm.cachedMethodHandle:(I)Ljava/lang/invoke/MethodHandle;
astore 1
start local 1 2: aload 1
ifnull 3
aload 1
areturn
3: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aload 0
invokestatic java.lang.invoke.InvokerBytecodeGenerator.generateNamedFunctionInvoker:(Ljava/lang/invoke/MethodTypeForm;)Ljava/lang/invoke/MemberName;
astore 2
start local 2 4: aload 2
invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
astore 1
5: aload 0
iconst_1
invokevirtual java.lang.invoke.MethodTypeForm.cachedMethodHandle:(I)Ljava/lang/invoke/MethodHandle;
astore 3
start local 3 6: aload 3
ifnull 7
aload 3
areturn
7: StackMap locals: java.lang.invoke.MemberName java.lang.invoke.MethodHandle
StackMap stack:
aload 1
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
getstatic java.lang.invoke.LambdaForm$NamedFunction.INVOKER_METHOD_TYPE:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifne 9
8: aload 1
invokevirtual java.lang.invoke.MethodHandle.debugString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
athrow
9: StackMap locals:
StackMap stack:
aload 0
iconst_1
aload 1
invokevirtual java.lang.invoke.MethodTypeForm.setCachedMethodHandle:(ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 typeForm Ljava/lang/invoke/MethodTypeForm;
2 10 1 mh Ljava/lang/invoke/MethodHandle;
4 10 2 invoker Ljava/lang/invoke/MemberName;
6 10 3 mh2 Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
typeForm
java.lang.Object invokeWithArguments(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0080) ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.LambdaForm.TRACE_INTERPRETER:Z
ifeq 1
aload 0
aload 1
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.invokeWithArgumentsTracing:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.invoker:()Ljava/lang/invoke/MethodHandle;
aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
aload 1
invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
0 2 1 arguments [Ljava/lang/Object;
Exceptions:
throws java.lang.Throwable
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Hidden()
MethodParameters:
Name Flags
arguments
java.lang.Object invokeWithArgumentsTracing(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: ldc "[ call"
aload 0
aload 1
invokestatic java.lang.invoke.LambdaForm.traceInterpreter:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
1: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.invoker:Ljava/lang/invoke/MethodHandle;
ifnonnull 4
2: ldc "| getInvoker"
aload 0
invokestatic java.lang.invoke.LambdaForm.traceInterpreter:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.invoker:()Ljava/lang/invoke/MethodHandle;
pop
4: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
ifnonnull 7
5: ldc "| resolve"
aload 0
invokestatic java.lang.invoke.LambdaForm.traceInterpreter:(Ljava/lang/String;Ljava/lang/Object;)V
6: aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
pop
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.invoker:()Ljava/lang/invoke/MethodHandle;
aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
aload 1
invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 8: goto 12
end local 2 StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
start local 3 10: ldc "] throw =>"
aload 3
invokestatic java.lang.invoke.LambdaForm.traceInterpreter:(Ljava/lang/String;Ljava/lang/Object;)V
11: aload 3
athrow
end local 3 start local 2 12: StackMap locals: java.lang.Object
StackMap stack:
ldc "] return =>"
aload 2
invokestatic java.lang.invoke.LambdaForm.traceInterpreter:(Ljava/lang/String;Ljava/lang/Object;)V
13: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
0 14 1 arguments [Ljava/lang/Object;
8 9 2 rval Ljava/lang/Object;
12 14 2 rval Ljava/lang/Object;
10 12 3 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 8 9 Class java.lang.Throwable
Exceptions:
throws java.lang.Throwable
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Hidden()
MethodParameters:
Name Flags
arguments
private java.lang.invoke.MethodHandle invoker();
descriptor: ()Ljava/lang/invoke/MethodHandle;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.invoker:Ljava/lang/invoke/MethodHandle;
ifnull 1
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.invoker:Ljava/lang/invoke/MethodHandle;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
invokestatic java.lang.invoke.LambdaForm$NamedFunction.computeInvoker:(Ljava/lang/invoke/MethodTypeForm;)Ljava/lang/invoke/MethodHandle;
dup_x1
putfield java.lang.invoke.LambdaForm$NamedFunction.invoker:Ljava/lang/invoke/MethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
java.lang.invoke.MethodType methodType();
descriptor: ()Ljava/lang/invoke/MethodType;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
ifnull 2
1: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
java.lang.invoke.MemberName member();
descriptor: ()Ljava/lang/invoke/MemberName;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.lang.invoke.LambdaForm$NamedFunction.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.assertMemberIsConsistent:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
private boolean assertMemberIsConsistent();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
instanceof java.lang.invoke.DirectMethodHandle
ifeq 3
1: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
astore 1
start local 1 2: getstatic java.lang.invoke.LambdaForm$NamedFunction.$assertionsDisabled:Z
ifne 3
aload 1
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.equals:(Ljava/lang/invoke/MemberName;)Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 1 3: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
2 3 1 m Ljava/lang/invoke/MemberName;
java.lang.Class<?> memberDeclaringClassOrNull();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
Signature: ()Ljava/lang/Class<*>;
java.lang.invoke.LambdaForm$BasicType returnType();
descriptor: ()Ljava/lang/invoke/LambdaForm$BasicType;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
java.lang.invoke.LambdaForm$BasicType parameterType(int);
descriptor: (I)Ljava/lang/invoke/LambdaForm$BasicType;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
iload 1
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
0 1 1 n I
MethodParameters:
Name Flags
n
int arity();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
ifnonnull 1
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
areturn
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
public boolean isIdentity();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.returnType:()Ljava/lang/invoke/LambdaForm$BasicType;
invokestatic java.lang.invoke.LambdaForm.identity:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
public boolean isConstantZero();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.returnType:()Ljava/lang/invoke/LambdaForm$BasicType;
invokestatic java.lang.invoke.LambdaForm.constantZero:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
public java.lang.invoke.MethodHandleImpl$Intrinsic intrinsicName();
descriptor: ()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$NamedFunction.intrinsicName:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/LambdaForm$NamedFunction;
}
SourceFile: "LambdaForm.java"
NestHost: java.lang.invoke.LambdaForm
InnerClasses:
final BasicType = java.lang.invoke.LambdaForm$BasicType of java.lang.invoke.LambdaForm
NamedFunction = java.lang.invoke.LambdaForm$NamedFunction of java.lang.invoke.LambdaForm
final Intrinsic = java.lang.invoke.MethodHandleImpl$Intrinsic of java.lang.invoke.MethodHandleImpl