class java.lang.invoke.InvokerBytecodeGenerator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.lang.invoke.InvokerBytecodeGenerator
super_class: java.lang.Object
{
private static final java.lang.String MH;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/invoke/MethodHandle"
private static final java.lang.String MHI;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/invoke/MethodHandleImpl"
private static final java.lang.String LF;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/invoke/LambdaForm"
private static final java.lang.String LFN;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/invoke/LambdaForm$Name"
private static final java.lang.String CLS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/Class"
private static final java.lang.String OBJ;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/Object"
private static final java.lang.String OBJARY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "[Ljava/lang/Object;"
private static final java.lang.String LOOP_CLAUSES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/invoke/MethodHandleImpl$LoopClauses"
private static final java.lang.String MHARY2;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "[[Ljava/lang/invoke/MethodHandle;"
private static final java.lang.String LF_SIG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Ljava/lang/invoke/LambdaForm;"
private static final java.lang.String LFN_SIG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Ljava/lang/invoke/LambdaForm$Name;"
private static final java.lang.String LL_SIG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "(Ljava/lang/Object;)Ljava/lang/Object;"
private static final java.lang.String LLV_SIG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "(Ljava/lang/Object;Ljava/lang/Object;)V"
private static final java.lang.String CLASS_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/invoke/LambdaForm$"
private static final java.lang.String SOURCE_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "LambdaForm$"
static final java.lang.String INVOKER_SUPER_NAME;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/Object"
private final java.lang.String className;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.invoke.LambdaForm lambdaForm;
descriptor: Ljava/lang/invoke/LambdaForm;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String invokerName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.invoke.MethodType invokerType;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int[] localsMap;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private java.lang.Class<?>[] localClasses;
descriptor: [Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Signature: [Ljava/lang/Class<*>;
private jdk.internal.org.objectweb.asm.ClassWriter cw;
descriptor: Ljdk/internal/org/objectweb/asm/ClassWriter;
flags: (0x0002) ACC_PRIVATE
private jdk.internal.org.objectweb.asm.MethodVisitor mv;
descriptor: Ljdk/internal/org/objectweb/asm/MethodVisitor;
flags: (0x0002) ACC_PRIVATE
private java.lang.Class<?> lastClass;
descriptor: Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/Class<*>;
private java.lang.String lastInternalName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.invoke.MemberName$Factory MEMBERNAME_FACTORY;
descriptor: Ljava/lang/invoke/MemberName$Factory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Class<?> HOST_CLASS;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final java.util.HashMap<java.lang.String, java.lang.Integer> DUMP_CLASS_FILES_COUNTERS;
descriptor: Ljava/util/HashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;
private static final java.io.File DUMP_CLASS_FILES_DIR;
descriptor: Ljava/io/File;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.ArrayList<java.lang.invoke.InvokerBytecodeGenerator$CpPatch> cpPatches;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Ljava/lang/invoke/InvokerBytecodeGenerator$CpPatch;>;
private int cph;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static final java.lang.String LF_HIDDEN_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.String LF_COMPILED_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.String FORCEINLINE_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.String DONTINLINE_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.String INJECTEDPROFILE_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static java.lang.Class<?>[] STATICALLY_INVOCABLE_PACKAGES;
descriptor: [Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: [Ljava/lang/Class<*>;
private static volatile int[] $SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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 final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$java$lang$invoke$LambdaForm$Kind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$java$lang$invoke$MethodHandleImpl$Intrinsic;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: ldc Ljava/lang/invoke/InvokerBytecodeGenerator;
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.InvokerBytecodeGenerator.$assertionsDisabled:Z
3: invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
putstatic java.lang.invoke.InvokerBytecodeGenerator.MEMBERNAME_FACTORY:Ljava/lang/invoke/MemberName$Factory;
4: ldc Ljava/lang/invoke/LambdaForm;
putstatic java.lang.invoke.InvokerBytecodeGenerator.HOST_CLASS:Ljava/lang/Class;
5: getstatic java.lang.invoke.MethodHandleStatics.DUMP_CLASS_FILES:Z
ifeq 15
6: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_COUNTERS:Ljava/util/HashMap;
7: new java.io.File
dup
ldc "DUMP_CLASS_FILES"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 0
start local 0 8: aload 0
invokevirtual java.io.File.exists:()Z
ifne 10
9: aload 0
invokevirtual java.io.File.mkdirs:()Z
pop
10: StackMap locals: java.io.File
StackMap stack:
aload 0
putstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_DIR:Ljava/io/File;
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Dumping class files to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_DIR:Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "/..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 0 12: goto 17
StackMap locals:
StackMap stack: java.lang.Exception
13: astore 0
start local 0 14: aload 0
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 0 15: StackMap locals:
StackMap stack:
aconst_null
putstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_COUNTERS:Ljava/util/HashMap;
16: aconst_null
putstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_DIR:Ljava/io/File;
17: StackMap locals:
StackMap stack:
ldc "Ljava/lang/invoke/LambdaForm$Hidden;"
invokestatic java.lang.invoke.InvokerBytecodeGenerator.className:(Ljava/lang/String;)Ljava/lang/String;
putstatic java.lang.invoke.InvokerBytecodeGenerator.LF_HIDDEN_SIG:Ljava/lang/String;
18: ldc "Ljava/lang/invoke/LambdaForm$Compiled;"
invokestatic java.lang.invoke.InvokerBytecodeGenerator.className:(Ljava/lang/String;)Ljava/lang/String;
putstatic java.lang.invoke.InvokerBytecodeGenerator.LF_COMPILED_SIG:Ljava/lang/String;
19: ldc "Ljdk/internal/vm/annotation/ForceInline;"
invokestatic java.lang.invoke.InvokerBytecodeGenerator.className:(Ljava/lang/String;)Ljava/lang/String;
putstatic java.lang.invoke.InvokerBytecodeGenerator.FORCEINLINE_SIG:Ljava/lang/String;
20: ldc "Ljdk/internal/vm/annotation/DontInline;"
invokestatic java.lang.invoke.InvokerBytecodeGenerator.className:(Ljava/lang/String;)Ljava/lang/String;
putstatic java.lang.invoke.InvokerBytecodeGenerator.DONTINLINE_SIG:Ljava/lang/String;
21: ldc "Ljava/lang/invoke/InjectedProfile;"
invokestatic java.lang.invoke.InvokerBytecodeGenerator.className:(Ljava/lang/String;)Ljava/lang/String;
putstatic java.lang.invoke.InvokerBytecodeGenerator.INJECTEDPROFILE_SIG:Ljava/lang/String;
22: iconst_3
anewarray java.lang.Class
dup
iconst_0
23: ldc Ljava/lang/Object;
aastore
dup
iconst_1
24: ldc Ljava/util/Arrays;
aastore
dup
iconst_2
25: ldc Ljdk/internal/misc/Unsafe;
aastore
26: putstatic java.lang.invoke.InvokerBytecodeGenerator.STATICALLY_INVOCABLE_PACKAGES:[Ljava/lang/Class;
27: return
LocalVariableTable:
Start End Slot Name Signature
8 12 0 dumpDir Ljava/io/File;
14 15 0 e Ljava/lang/Exception;
Exception table:
from to target type
7 12 13 Class java.lang.Exception
private void <init>(java.lang.invoke.LambdaForm, int, java.lang.String, java.lang.String, java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/LambdaForm;ILjava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield java.lang.invoke.InvokerBytecodeGenerator.cpPatches:Ljava/util/ArrayList;
2: aload 0
iconst_0
putfield java.lang.invoke.InvokerBytecodeGenerator.cph:I
3: aload 4
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 4: iload 6
iconst_m1
if_icmple 7
5: aload 4
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
6: aload 4
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
7: StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.invoke.LambdaForm int java.lang.String java.lang.String java.lang.invoke.MethodType int
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.DUMP_CLASS_FILES:Z
ifeq 9
8: aload 3
invokestatic java.lang.invoke.InvokerBytecodeGenerator.makeDumpableClassName:(Ljava/lang/String;)Ljava/lang/String;
astore 3
9: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield java.lang.invoke.InvokerBytecodeGenerator.className:Ljava/lang/String;
10: aload 0
aload 1
putfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
11: aload 0
aload 4
putfield java.lang.invoke.InvokerBytecodeGenerator.invokerName:Ljava/lang/String;
12: aload 0
aload 5
putfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
13: aload 0
iload 2
iconst_1
iadd
newarray 10
putfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
14: aload 0
iload 2
iconst_1
iadd
anewarray java.lang.Class
putfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
15: return
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 16 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 16 1 lambdaForm Ljava/lang/invoke/LambdaForm;
0 16 2 localsMapSize I
0 16 3 className Ljava/lang/String;
0 16 4 invokerName Ljava/lang/String;
0 16 5 invokerType Ljava/lang/invoke/MethodType;
4 16 6 p I
MethodParameters:
Name Flags
lambdaForm
localsMapSize
className
invokerName
invokerType
private void <init>(java.lang.String, java.lang.String, java.lang.invoke.MethodType);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aconst_null
aload 3
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
1: aload 1
aload 2
aload 3
invokespecial java.lang.invoke.InvokerBytecodeGenerator.<init>:(Ljava/lang/invoke/LambdaForm;ILjava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.String java.lang.String java.lang.invoke.MethodType int
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
iload 4
aload 3
invokevirtual java.lang.invoke.MethodType.parameterSlotCount:()I
aload 3
iload 4
invokevirtual java.lang.invoke.MethodType.parameterSlotDepth:(I)I
isub
iastore
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
arraylength
if_icmplt 4
end local 4 7: 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/InvokerBytecodeGenerator;
0 8 1 className Ljava/lang/String;
0 8 2 invokerName Ljava/lang/String;
0 8 3 invokerType Ljava/lang/invoke/MethodType;
3 7 4 i I
MethodParameters:
Name Flags
className
invokerName
invokerType
private void <init>(java.lang.String, java.lang.invoke.LambdaForm, java.lang.invoke.MethodType);
descriptor: (Ljava/lang/String;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual java.lang.invoke.LambdaForm.lambdaName:()Ljava/lang/String;
aload 2
aload 3
invokespecial java.lang.invoke.InvokerBytecodeGenerator.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 2 1 className Ljava/lang/String;
0 2 2 form Ljava/lang/invoke/LambdaForm;
0 2 3 invokerType Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
className
form
invokerType
void <init>(java.lang.String, java.lang.String, java.lang.invoke.LambdaForm, java.lang.invoke.MethodType);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)V
flags: (0x0000)
Code:
stack=6, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 3
aload 3
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
arraylength
1: aload 1
aload 2
aload 4
invokespecial java.lang.invoke.InvokerBytecodeGenerator.<init>:(Ljava/lang/invoke/LambdaForm;ILjava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
2: aload 3
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: iconst_0
istore 7
start local 7 5: goto 11
6: StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.String java.lang.String java.lang.invoke.LambdaForm java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] int int
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
iload 6
iload 7
iastore
7: iload 6
aload 5
arraylength
if_icmpge 10
8: aload 5
iload 6
aaload
invokevirtual java.lang.invoke.LambdaForm$Name.type:()Ljava/lang/invoke/LambdaForm$BasicType;
astore 8
start local 8 9: iload 7
aload 8
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeSlots:()I
iadd
istore 7
end local 8 10: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
arraylength
if_icmplt 6
end local 7 end local 6 12: return
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 13 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 13 1 className Ljava/lang/String;
0 13 2 invokerName Ljava/lang/String;
0 13 3 form Ljava/lang/invoke/LambdaForm;
0 13 4 invokerType Ljava/lang/invoke/MethodType;
3 13 5 names [Ljava/lang/invoke/LambdaForm$Name;
4 12 6 i I
5 12 7 index I
9 10 8 type Ljava/lang/invoke/LambdaForm$BasicType;
MethodParameters:
Name Flags
className
invokerName
form
invokerType
private void maybeDump(byte[]);
descriptor: ([B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.DUMP_CLASS_FILES:Z
ifeq 2
1: new java.lang.StringBuilder
dup
ldc "java/lang/invoke/LambdaForm$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.className:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokestatic java.lang.invoke.InvokerBytecodeGenerator.maybeDump:(Ljava/lang/String;[B)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 3 1 classFile [B
MethodParameters:
Name Flags
classFile final
static void maybeDump(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.DUMP_CLASS_FILES:Z
ifeq 3
1: new java.lang.invoke.InvokerBytecodeGenerator$1
dup
aload 0
aload 1
invokespecial java.lang.invoke.InvokerBytecodeGenerator$1.<init>:(Ljava/lang/String;[B)V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 className Ljava/lang/String;
0 4 1 classFile [B
MethodParameters:
Name Flags
className final
classFile final
private static java.lang.String makeDumpableClassName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: getstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_COUNTERS:Ljava/util/HashMap;
dup
astore 2
monitorenter
1: getstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_COUNTERS:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 1
start local 1 2: aload 1
ifnonnull 3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 1
3: StackMap locals: java.lang.Integer java.util.HashMap
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_COUNTERS:Ljava/util/HashMap;
aload 0
aload 1
invokevirtual java.lang.Integer.intValue:()I
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 2
monitorexit
5: goto 8
end local 1 StackMap locals: java.lang.String top java.util.HashMap
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
start local 1 8: StackMap locals: java.lang.String java.lang.Integer
StackMap stack:
aload 1
invokevirtual java.lang.Integer.toString:()Ljava/lang/String;
astore 2
start local 2 9: goto 11
10: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.String.length:()I
iconst_3
if_icmplt 10
12: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 0
13: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 className Ljava/lang/String;
2 6 1 ctr Ljava/lang/Integer;
8 14 1 ctr Ljava/lang/Integer;
9 14 2 sfx Ljava/lang/String;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
className
java.lang.String constantPlaceholder(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "CONSTANT_PLACEHOLDER_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
dup
getfield java.lang.invoke.InvokerBytecodeGenerator.cph:I
dup_x1
iconst_1
iadd
putfield java.lang.invoke.InvokerBytecodeGenerator.cph:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: getstatic java.lang.invoke.MethodHandleStatics.DUMP_CLASS_FILES:Z
ifeq 2
new java.lang.StringBuilder
dup
aload 2
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 1
invokestatic java.lang.invoke.InvokerBytecodeGenerator.debugString:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
2: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
aload 2
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.newConst:(Ljava/lang/Object;)I
istore 3
start local 3 3: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.cpPatches:Ljava/util/ArrayList;
new java.lang.invoke.InvokerBytecodeGenerator$CpPatch
dup
aload 0
iload 3
aload 1
invokespecial java.lang.invoke.InvokerBytecodeGenerator$CpPatch.<init>:(Ljava/lang/invoke/InvokerBytecodeGenerator;ILjava/lang/Object;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 5 1 arg Ljava/lang/Object;
1 5 2 cpPlaceholder Ljava/lang/String;
3 5 3 index I
MethodParameters:
Name Flags
arg
java.lang.Object[] cpPatches(byte[]);
descriptor: ([B)[Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.lang.invoke.InvokerBytecodeGenerator.getConstantPoolSize:([B)I
istore 2
start local 2 1: iload 2
anewarray java.lang.Object
astore 3
start local 3 2: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.cpPatches:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: java.lang.invoke.InvokerBytecodeGenerator byte[] int java.lang.Object[] top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.invoke.InvokerBytecodeGenerator$CpPatch
astore 4
start local 4 4: aload 4
getfield java.lang.invoke.InvokerBytecodeGenerator$CpPatch.index:I
iload 2
if_icmplt 6
5: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "in cpool["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
bipush 20
invokestatic java.util.Arrays.copyOf:([BI)[B
invokestatic java.util.Arrays.toString:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.lang.invoke.InvokerBytecodeGenerator byte[] int java.lang.Object[] java.lang.invoke.InvokerBytecodeGenerator$CpPatch java.util.Iterator
StackMap stack:
aload 3
aload 4
getfield java.lang.invoke.InvokerBytecodeGenerator$CpPatch.index:I
aload 4
getfield java.lang.invoke.InvokerBytecodeGenerator$CpPatch.value:Ljava/lang/Object;
aastore
end local 4 7: StackMap locals: java.lang.invoke.InvokerBytecodeGenerator byte[] int java.lang.Object[] top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 9 1 classFile [B
1 9 2 size I
2 9 3 res [Ljava/lang/Object;
4 7 4 p Ljava/lang/invoke/InvokerBytecodeGenerator$CpPatch;
MethodParameters:
Name Flags
classFile
private static java.lang.String debugString(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
instanceof java.lang.invoke.MethodHandle
ifeq 6
1: aload 0
checkcast java.lang.invoke.MethodHandle
astore 1
start local 1 2: aload 1
invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
areturn
5: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MemberName
StackMap stack:
aload 1
invokevirtual java.lang.invoke.MethodHandle.debugString:()Ljava/lang/String;
areturn
end local 2 end local 1 6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 arg Ljava/lang/Object;
2 6 1 mh Ljava/lang/invoke/MethodHandle;
3 6 2 member Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
arg
private static int getConstantPoolSize(byte[]);
descriptor: ([B)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
bipush 8
baload
sipush 255
iand
bipush 8
ishl
aload 0
bipush 9
baload
sipush 255
iand
ior
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 classFile [B
MethodParameters:
Name Flags
classFile
private java.lang.invoke.MemberName loadMethod(byte[]);
descriptor: ([B)Ljava/lang/invoke/MemberName;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
aload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.cpPatches:([B)[Ljava/lang/Object;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.loadAndInitializeInvokerClass:([B[Ljava/lang/Object;)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.invokerName:Ljava/lang/String;
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.resolveInvokerMember:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 2 1 classFile [B
1 2 2 invokerClass Ljava/lang/Class<*>;
MethodParameters:
Name Flags
classFile
private static java.lang.Class<?> loadAndInitializeInvokerClass(byte[], []);
descriptor: ([B[Ljava/lang/Object;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
getstatic java.lang.invoke.InvokerBytecodeGenerator.HOST_CLASS:Ljava/lang/Class;
aload 0
aload 1
invokevirtual jdk.internal.misc.Unsafe.defineAnonymousClass:(Ljava/lang/Class;[B[Ljava/lang/Object;)Ljava/lang/Class;
astore 2
start local 2 1: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
invokevirtual jdk.internal.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 classBytes [B
0 3 1 patches [Ljava/lang/Object;
1 3 2 invokerClass Ljava/lang/Class<*>;
Signature: ([B[Ljava/lang/Object;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
classBytes
patches
private static java.lang.invoke.MemberName resolveInvokerMember(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.invoke.MemberName
dup
aload 0
aload 1
aload 2
bipush 6
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
astore 3
start local 3 1: getstatic java.lang.invoke.InvokerBytecodeGenerator.MEMBERNAME_FACTORY:Ljava/lang/invoke/MemberName$Factory;
bipush 6
aload 3
getstatic java.lang.invoke.InvokerBytecodeGenerator.HOST_CLASS:Ljava/lang/Class;
ldc Ljava/lang/ReflectiveOperationException;
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 3
2: goto 5
StackMap locals: java.lang.Class java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName
StackMap stack: java.lang.ReflectiveOperationException
3: astore 4
start local 4 4: aload 4
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 4 5: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 invokerClass Ljava/lang/Class<*>;
0 6 1 name Ljava/lang/String;
0 6 2 type Ljava/lang/invoke/MethodType;
1 6 3 member Ljava/lang/invoke/MemberName;
4 5 4 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
1 2 3 Class java.lang.ReflectiveOperationException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
invokerClass
name
type
private jdk.internal.org.objectweb.asm.ClassWriter classFilePrologue();
descriptor: ()Ljdk/internal/org/objectweb/asm/ClassWriter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
new jdk.internal.org.objectweb.asm.ClassWriter
dup
iconst_3
invokespecial jdk.internal.org.objectweb.asm.ClassWriter.<init>:(I)V
putfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
bipush 52
bipush 48
2: new java.lang.StringBuilder
dup
ldc "java/lang/invoke/LambdaForm$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.className:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
ldc "java/lang/Object"
aconst_null
3: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
4: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
new java.lang.StringBuilder
dup
ldc "LambdaForm$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.className:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitSource:(Ljava/lang/String;Ljava/lang/String;)V
5: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
private void methodPrologue();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
bipush 8
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.invokerName:Ljava/lang/String;
aload 1
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
putfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
1 3 1 invokerDesc Ljava/lang/String;
private void methodEpilogue();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
private void emitConst(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Integer
ifeq 6
4: aload 0
aload 1
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
5: return
6: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Byte
ifeq 9
7: aload 0
aload 1
checkcast java.lang.Byte
invokevirtual java.lang.Byte.byteValue:()B
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
8: return
9: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Short
ifeq 12
10: aload 0
aload 1
checkcast java.lang.Short
invokevirtual java.lang.Short.shortValue:()S
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
11: return
12: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Character
ifeq 15
13: aload 0
aload 1
checkcast java.lang.Character
invokevirtual java.lang.Character.charValue:()C
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
14: return
15: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Long
ifeq 25
16: aload 1
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 2
start local 2 17: lload 2
l2i
i2s
istore 4
start local 4 18: lload 2
iload 4
i2l
lcmp
ifne 25
19: iload 4
iflt 22
iload 4
iconst_1
if_icmpgt 22
20: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 9
iload 4
iadd
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
21: goto 24
22: StackMap locals: long int
StackMap stack:
aload 0
lload 2
l2i
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
23: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 133
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
24: StackMap locals:
StackMap stack:
return
end local 4 end local 2 25: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Float
ifeq 35
26: aload 1
checkcast java.lang.Float
invokevirtual java.lang.Float.floatValue:()F
fstore 2
start local 2 27: fload 2
f2i
i2s
istore 3
start local 3 28: fload 2
iload 3
i2f
fcmpl
ifne 35
29: iload 3
iflt 32
iload 3
iconst_2
if_icmpgt 32
30: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 11
iload 3
iadd
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
31: goto 34
32: StackMap locals: float int
StackMap stack:
aload 0
fload 2
f2i
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
33: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 134
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
34: StackMap locals:
StackMap stack:
return
end local 3 end local 2 35: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Double
ifeq 45
36: aload 1
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 2
start local 2 37: dload 2
d2i
i2s
istore 4
start local 4 38: dload 2
iload 4
i2d
dcmpl
ifne 45
39: iload 4
iflt 42
iload 4
iconst_1
if_icmpgt 42
40: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 14
iload 4
iadd
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
41: goto 44
42: StackMap locals: double int
StackMap stack:
aload 0
dload 2
d2i
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
43: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 135
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
44: StackMap locals:
StackMap stack:
return
end local 4 end local 2 45: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Boolean
ifeq 50
46: aload 0
aload 1
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 47
iconst_1
goto 48
StackMap locals:
StackMap stack: java.lang.invoke.InvokerBytecodeGenerator
47: iconst_0
StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.Object
StackMap stack: java.lang.invoke.InvokerBytecodeGenerator int
48: invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
49: return
50: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
51: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 52 1 con Ljava/lang/Object;
17 25 2 x J
18 25 4 sx S
27 35 2 x F
28 35 3 sx S
37 45 2 x D
38 45 4 sx S
MethodParameters:
Name Flags
con
private void emitIconstInsn(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_m1
if_icmplt 3
iload 1
iconst_5
if_icmpgt 3
1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_3
iload 1
iadd
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
2: goto 10
StackMap locals:
StackMap stack:
3: iload 1
bipush -128
if_icmplt 6
iload 1
bipush 127
if_icmpgt 6
4: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 16
iload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
5: goto 10
StackMap locals:
StackMap stack:
6: iload 1
sipush -32768
if_icmplt 9
iload 1
sipush 32767
if_icmpgt 9
7: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 17
iload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 11 1 cst I
MethodParameters:
Name Flags
cst final
private void emitLoadInsn(java.lang.invoke.LambdaForm$BasicType, int);
descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.loadInsnOpcode:(Ljava/lang/invoke/LambdaForm$BasicType;)I
istore 3
start local 3 1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 3
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
iload 2
iaload
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 3 1 type Ljava/lang/invoke/LambdaForm$BasicType;
0 3 2 index I
1 3 3 opcode I
MethodParameters:
Name Flags
type
index
private int loadInsnOpcode(java.lang.invoke.LambdaForm$BasicType);
descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
aload 1
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 5
2: 1
3: 2
4: 3
5: 4
default: 6
}
1: StackMap locals:
StackMap stack:
bipush 21
ireturn
2: StackMap locals:
StackMap stack:
bipush 22
ireturn
3: StackMap locals:
StackMap stack:
bipush 23
ireturn
4: StackMap locals:
StackMap stack:
bipush 24
ireturn
5: StackMap locals:
StackMap stack:
bipush 25
ireturn
6: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "unknown type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 7 1 type Ljava/lang/invoke/LambdaForm$BasicType;
Exceptions:
throws java.lang.InternalError
MethodParameters:
Name Flags
type
private void emitAloadInsn(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
iload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoadInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 2 1 index I
MethodParameters:
Name Flags
index
private void emitStoreInsn(java.lang.invoke.LambdaForm$BasicType, int);
descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.storeInsnOpcode:(Ljava/lang/invoke/LambdaForm$BasicType;)I
istore 3
start local 3 1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 3
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
iload 2
iaload
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 3 1 type Ljava/lang/invoke/LambdaForm$BasicType;
0 3 2 index I
1 3 3 opcode I
MethodParameters:
Name Flags
type
index
private int storeInsnOpcode(java.lang.invoke.LambdaForm$BasicType);
descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
aload 1
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 5
2: 1
3: 2
4: 3
5: 4
default: 6
}
1: StackMap locals:
StackMap stack:
bipush 54
ireturn
2: StackMap locals:
StackMap stack:
bipush 55
ireturn
3: StackMap locals:
StackMap stack:
bipush 56
ireturn
4: StackMap locals:
StackMap stack:
bipush 57
ireturn
5: StackMap locals:
StackMap stack:
bipush 58
ireturn
6: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "unknown type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 7 1 type Ljava/lang/invoke/LambdaForm$BasicType;
Exceptions:
throws java.lang.InternalError
MethodParameters:
Name Flags
type
private void emitAstoreInsn(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
iload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStoreInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 2 1 index I
MethodParameters:
Name Flags
index
private byte arrayTypeCode(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)B
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 1
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 1
2: 2
3: 4
4: 3
5: 5
6: 6
7: 7
8: 8
9: 9
default: 10
}
1: StackMap locals:
StackMap stack:
iconst_4
ireturn
2: StackMap locals:
StackMap stack:
bipush 8
ireturn
3: StackMap locals:
StackMap stack:
iconst_5
ireturn
4: StackMap locals:
StackMap stack:
bipush 9
ireturn
5: StackMap locals:
StackMap stack:
bipush 10
ireturn
6: StackMap locals:
StackMap stack:
bipush 11
ireturn
7: StackMap locals:
StackMap stack:
bipush 6
ireturn
8: StackMap locals:
StackMap stack:
bipush 7
ireturn
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 11 1 elementType Lsun/invoke/util/Wrapper;
MethodParameters:
Name Flags
elementType
private int arrayInsnOpcode(byte, int);
descriptor: (BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 1
iload 2
bipush 83
if_icmpeq 1
iload 2
bipush 50
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 1
tableswitch { // 0 - 11
0: 18
1: 20
2: 20
3: 20
4: 2
5: 6
6: 14
7: 16
8: 4
9: 8
10: 10
11: 12
default: 20
}
2: StackMap locals:
StackMap stack:
bipush 84
istore 3
start local 3 3: goto 21
end local 3 4: StackMap locals:
StackMap stack:
bipush 84
istore 3
start local 3 5: goto 21
end local 3 6: StackMap locals:
StackMap stack:
bipush 85
istore 3
start local 3 7: goto 21
end local 3 8: StackMap locals:
StackMap stack:
bipush 86
istore 3
start local 3 9: goto 21
end local 3 10: StackMap locals:
StackMap stack:
bipush 79
istore 3
start local 3 11: goto 21
end local 3 12: StackMap locals:
StackMap stack:
bipush 80
istore 3
start local 3 13: goto 21
end local 3 14: StackMap locals:
StackMap stack:
bipush 81
istore 3
start local 3 15: goto 21
end local 3 16: StackMap locals:
StackMap stack:
bipush 82
istore 3
start local 3 17: goto 21
end local 3 18: StackMap locals:
StackMap stack:
bipush 83
istore 3
start local 3 19: goto 21
end local 3 20: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
start local 3 21: StackMap locals: int
StackMap stack:
iload 3
bipush 83
isub
iload 2
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 22 1 tcode B
0 22 2 aaop I
3 4 3 xas I
5 6 3 xas I
7 8 3 xas I
9 10 3 xas I
11 12 3 xas I
13 14 3 xas I
15 16 3 xas I
17 18 3 xas I
19 20 3 xas I
21 22 3 xas I
Exceptions:
throws java.lang.InternalError
MethodParameters:
Name Flags
tcode
aaop
private void emitBoxing(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "java/lang/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: ldc "valueOf"
astore 3
start local 3 2: new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual sun.invoke.util.Wrapper.basicTypeChar:()C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc ")L"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 3: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 184
aload 2
aload 3
aload 4
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 5 1 wrapper Lsun/invoke/util/Wrapper;
1 5 2 owner Ljava/lang/String;
2 5 3 name Ljava/lang/String;
3 5 4 desc Ljava/lang/String;
MethodParameters:
Name Flags
wrapper
private void emitUnboxing(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "java/lang/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: new java.lang.StringBuilder
dup
aload 1
invokevirtual sun.invoke.util.Wrapper.primitiveSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Value"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 2: new java.lang.StringBuilder
dup
ldc "()"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual sun.invoke.util.Wrapper.basicTypeChar:()C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 3: aload 0
aload 1
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
aconst_null
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReferenceCast:(Ljava/lang/Class;Ljava/lang/Object;)V
4: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
aload 2
aload 3
aload 4
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 6 1 wrapper Lsun/invoke/util/Wrapper;
1 6 2 owner Ljava/lang/String;
2 6 3 name Ljava/lang/String;
3 6 4 desc Ljava/lang/String;
MethodParameters:
Name Flags
wrapper
private void emitImplicitConversion(java.lang.invoke.LambdaForm$BasicType, java.lang.Class<?>, );
descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 1
aload 2
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
aload 1
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
if_acmpne 3
aload 1
getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
if_acmpeq 3
2: return
3: StackMap locals:
StackMap stack:
invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
aload 1
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 4
2: 10
default: 13
}
4: StackMap locals:
StackMap stack:
ldc Ljava/lang/Object;
aload 2
iconst_0
invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ifeq 8
5: getstatic java.lang.invoke.MethodHandleStatics.PROFILE_LEVEL:I
ifle 7
6: aload 0
ldc Ljava/lang/Object;
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReferenceCast:(Ljava/lang/Class;Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReferenceCast:(Ljava/lang/Class;Ljava/lang/Object;)V
9: return
10: StackMap locals:
StackMap stack:
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aload 2
iconst_0
invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ifne 12
11: aload 0
aload 1
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeWrapper:()Lsun/invoke/util/Wrapper;
aload 2
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPrimCast:(Lsun/invoke/util/Wrapper;Lsun/invoke/util/Wrapper;)V
12: StackMap locals:
StackMap stack:
return
13: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "bad implicit conversion: tc="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 14 1 ptype Ljava/lang/invoke/LambdaForm$BasicType;
0 14 2 pclass Ljava/lang/Class<*>;
0 14 3 arg Ljava/lang/Object;
Signature: (Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class<*>;Ljava/lang/Object;)V
MethodParameters:
Name Flags
ptype
pclass
arg
private boolean assertStaticType(java.lang.Class<?>, java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/Class;Ljava/lang/invoke/LambdaForm$Name;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
istore 3
start local 3 1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
iload 3
aaload
astore 4
start local 4 2: aload 4
ifnull 4
aload 4
aload 1
if_acmpeq 3
aload 1
aload 4
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 4
3: StackMap locals: int java.lang.Class
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 4
ifnull 5
aload 4
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
5: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
iload 3
aload 1
aastore
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 7 1 cls Ljava/lang/Class<*>;
0 7 2 n Ljava/lang/invoke/LambdaForm$Name;
1 7 3 local I
2 7 4 aclass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/LambdaForm$Name;)Z
MethodParameters:
Name Flags
cls
n
private void emitReferenceCast(java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
instanceof java.lang.invoke.LambdaForm$Name
ifeq 7
2: aload 2
checkcast java.lang.invoke.LambdaForm$Name
astore 4
start local 4 3: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
aload 4
invokevirtual java.lang.invoke.LambdaForm.useCount:(Ljava/lang/invoke/LambdaForm$Name;)I
iconst_1
if_icmple 7
4: aload 4
astore 3
5: aload 0
aload 1
aload 4
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.assertStaticType:(Ljava/lang/Class;Ljava/lang/invoke/LambdaForm$Name;)Z
ifeq 7
6: return
end local 4 7: StackMap locals: java.lang.invoke.LambdaForm$Name
StackMap stack:
aload 1
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyNameable:(Ljava/lang/Class;)Z
ifeq 11
8: aload 0
aload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
astore 4
start local 4 9: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 192
aload 4
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
end local 4 10: goto 19
11: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
aload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.constantPlaceholder:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
12: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 192
ldc "java/lang/Class"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
13: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 95
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
14: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
ldc "java/lang/Class"
ldc "cast"
ldc "(Ljava/lang/Object;)Ljava/lang/Object;"
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
15: ldc [Ljava/lang/Object;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 17
16: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 192
ldc "[Ljava/lang/Object;"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
goto 19
17: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.PROFILE_LEVEL:I
ifle 19
18: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 192
ldc "java/lang/Object"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
19: StackMap locals:
StackMap stack:
aload 3
ifnull 22
20: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
21: aload 0
aload 3
invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAstoreInsn:(I)V
22: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 23 1 cls Ljava/lang/Class<*>;
0 23 2 arg Ljava/lang/Object;
1 23 3 writeBack Ljava/lang/invoke/LambdaForm$Name;
3 7 4 n Ljava/lang/invoke/LambdaForm$Name;
9 10 4 sig Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Object;)V
MethodParameters:
Name Flags
cls
arg
private void emitReturnInsn(java.lang.invoke.LambdaForm$BasicType);
descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
aload 1
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iaload
tableswitch { // 1 - 6
1: 9
2: 1
3: 3
4: 5
5: 7
6: 11
default: 13
}
1: StackMap locals:
StackMap stack:
sipush 172
istore 2
start local 2 2: goto 14
end local 2 3: StackMap locals:
StackMap stack:
sipush 173
istore 2
start local 2 4: goto 14
end local 2 5: StackMap locals:
StackMap stack:
sipush 174
istore 2
start local 2 6: goto 14
end local 2 7: StackMap locals:
StackMap stack:
sipush 175
istore 2
start local 2 8: goto 14
end local 2 9: StackMap locals:
StackMap stack:
sipush 176
istore 2
start local 2 10: goto 14
end local 2 11: StackMap locals:
StackMap stack:
sipush 177
istore 2
start local 2 12: goto 14
end local 2 13: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "unknown return type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
start local 2 14: StackMap locals: int
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 16 1 type Ljava/lang/invoke/LambdaForm$BasicType;
2 3 2 opcode I
4 5 2 opcode I
6 7 2 opcode I
8 9 2 opcode I
10 11 2 opcode I
12 13 2 opcode I
14 16 2 opcode I
MethodParameters:
Name Flags
type
private java.lang.String getInternalName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Ljava/lang/Object;
if_acmpne 1
ldc "java/lang/Object"
areturn
1: StackMap locals:
StackMap stack:
aload 1
ldc [Ljava/lang/Object;
if_acmpne 2
ldc "[Ljava/lang/Object;"
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/lang/Class;
if_acmpne 3
ldc "java/lang/Class"
areturn
3: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/lang/invoke/MethodHandle;
if_acmpne 4
ldc "java/lang/invoke/MethodHandle"
areturn
4: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 5
aload 1
ldc Ljava/lang/Object;
invokestatic sun.invoke.util.VerifyAccess.isTypeVisible:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 5
new java.lang.AssertionError
dup
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lastClass:Ljava/lang/Class;
if_acmpne 7
6: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lastInternalName:Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield java.lang.invoke.InvokerBytecodeGenerator.lastClass:Ljava/lang/Class;
8: aload 0
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
dup_x1
putfield java.lang.invoke.InvokerBytecodeGenerator.lastInternalName:Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 9 1 c Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
c
private static java.lang.invoke.MemberName resolveFrom(java.lang.String, java.lang.invoke.MethodType, java.lang.Class<?>);
descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.invoke.MemberName
dup
aload 2
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 3
start local 3 1: invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
bipush 6
aload 3
aload 2
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrNull:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 4
start local 4 2: getstatic java.lang.invoke.MethodHandleStatics.TRACE_RESOLVE:Z
ifeq 8
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "[LF_RESOLVE] "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 1
invokestatic java.lang.invoke.LambdaForm.basicTypeSignature:(Ljava/lang/invoke/MethodType;)Ljava/lang/String;
invokestatic java.lang.invoke.LambdaForm.shortenSignature:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
ifnull 5
ldc " (success)"
goto 6
StackMap locals: java.lang.String java.lang.invoke.MethodType java.lang.Class java.lang.invoke.MemberName java.lang.invoke.MemberName
StackMap stack: java.io.PrintStream java.lang.StringBuilder
5: ldc " (fail)"
StackMap locals: java.lang.String java.lang.invoke.MethodType java.lang.Class java.lang.invoke.MemberName java.lang.invoke.MemberName
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
6: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 name Ljava/lang/String;
0 9 1 type Ljava/lang/invoke/MethodType;
0 9 2 holder Ljava/lang/Class<*>;
1 9 3 member Ljava/lang/invoke/MemberName;
2 9 4 resolvedMember Ljava/lang/invoke/MemberName;
Signature: (Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class<*>;)Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
name
type
holder
private static java.lang.invoke.MemberName lookupPregenerated(java.lang.invoke.LambdaForm, java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.invoke.LambdaForm.customized:Ljava/lang/invoke/MethodHandle;
ifnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.LambdaForm.kind:Ljava/lang/invoke/LambdaForm$Kind;
getfield java.lang.invoke.LambdaForm$Kind.methodName:Ljava/lang/String;
astore 2
start local 2 3: invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$Kind:()[I
aload 0
getfield java.lang.invoke.LambdaForm.kind:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
iaload
tableswitch { // 2 - 53
2: 7
3: 7
4: 4
5: 11
6: 6
7: 9
8: 9
9: 9
10: 9
11: 9
12: 9
13: 10
14: 10
15: 10
16: 10
17: 10
18: 10
19: 10
20: 10
21: 10
22: 11
23: 11
24: 10
25: 10
26: 11
27: 11
28: 10
29: 10
30: 11
31: 11
32: 10
33: 10
34: 11
35: 11
36: 10
37: 10
38: 11
39: 11
40: 10
41: 10
42: 11
43: 11
44: 10
45: 10
46: 11
47: 11
48: 10
49: 10
50: 11
51: 11
52: 10
53: 10
default: 11
}
4: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
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
invokestatic java.lang.invoke.BoundMethodHandle.speciesDataFor:(Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.key:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
5: aload 2
aload 1
ldc Ljava/lang/invoke/DelegatingMethodHandle$Holder;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.resolveFrom:(Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
areturn
6: StackMap locals:
StackMap stack:
aload 2
aload 1
ldc Ljava/lang/invoke/DelegatingMethodHandle$Holder;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.resolveFrom:(Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
areturn
7: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
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
invokevirtual java.lang.invoke.LambdaForm.returnType:()Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeChar:()C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
8: aload 2
aload 1
ldc Ljava/lang/invoke/LambdaForm$Holder;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.resolveFrom:(Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
areturn
9: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
ldc Ljava/lang/invoke/Invokers$Holder;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.resolveFrom:(Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
areturn
10: StackMap locals:
StackMap stack:
aload 2
aload 1
ldc Ljava/lang/invoke/DirectMethodHandle$Holder;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.resolveFrom:(Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
areturn
11: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 form Ljava/lang/invoke/LambdaForm;
0 12 1 invokerType Ljava/lang/invoke/MethodType;
3 12 2 name Ljava/lang/String;
MethodParameters:
Name Flags
form
invokerType
static java.lang.invoke.MemberName generateCustomizedCode(java.lang.invoke.LambdaForm, java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.lang.invoke.InvokerBytecodeGenerator.lookupPregenerated:(Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
areturn
2: StackMap locals: java.lang.invoke.MemberName
StackMap stack:
new java.lang.invoke.InvokerBytecodeGenerator
dup
ldc "MH"
aload 0
aload 1
invokespecial java.lang.invoke.InvokerBytecodeGenerator.<init>:(Ljava/lang/String;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)V
astore 3
start local 3 3: aload 3
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.generateCustomizedCodeBytes:()[B
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.loadMethod:([B)Ljava/lang/invoke/MemberName;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 form Ljava/lang/invoke/LambdaForm;
0 4 1 invokerType Ljava/lang/invoke/MethodType;
1 4 2 pregenerated Ljava/lang/invoke/MemberName;
3 4 3 g Ljava/lang/invoke/InvokerBytecodeGenerator;
MethodParameters:
Name Flags
form
invokerType
private boolean checkActualReceiver();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 25
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
iconst_0
iaload
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
2: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 184
ldc "java/lang/invoke/MethodHandleImpl"
ldc "assertSame"
ldc "(Ljava/lang/Object;Ljava/lang/Object;)V"
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
3: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
static java.lang.String className(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.invoke.InvokerBytecodeGenerator.checkClassName:(Ljava/lang/String;)Z
ifne 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Class not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 cn Ljava/lang/String;
MethodParameters:
Name Flags
cn
static boolean checkClassName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/Type;
astore 1
start local 1 1: aload 1
invokevirtual jdk.internal.org.objectweb.asm.Type.getSort:()I
bipush 10
if_icmpeq 3
2: iconst_0
ireturn
3: StackMap locals: jdk.internal.org.objectweb.asm.Type
StackMap stack:
aload 1
invokevirtual jdk.internal.org.objectweb.asm.Type.getClassName:()Ljava/lang/String;
iconst_0
aconst_null
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
pop
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 cn Ljava/lang/String;
1 7 1 tp Ljdk/internal/org/objectweb/asm/Type;
Exception table:
from to target type
3 4 5 Class java.lang.ClassNotFoundException
MethodParameters:
Name Flags
cn
private byte[] generateCustomizedCodeBytes();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.classFilePrologue:()Ljdk/internal/org/objectweb/asm/ClassWriter;
pop
1: aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.addMethod:()V
2: aload 0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.bogusMethod:(Ljava/lang/Object;)V
3: aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.toByteArray:()[B
astore 1
start local 1 4: aload 0
aload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.maybeDump:([B)V
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
4 6 1 classFile [B
void setClassWriter(jdk.internal.org.objectweb.asm.ClassWriter);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 2 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
MethodParameters:
Name Flags
cw
void addMethod();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.methodPrologue:()V
1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
getstatic java.lang.invoke.InvokerBytecodeGenerator.LF_HIDDEN_SIG:Ljava/lang/String;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
pop
2: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
getstatic java.lang.invoke.InvokerBytecodeGenerator.LF_COMPILED_SIG:Ljava/lang/String;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
pop
3: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.forceInline:Z
ifeq 6
4: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
getstatic java.lang.invoke.InvokerBytecodeGenerator.FORCEINLINE_SIG:Ljava/lang/String;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
pop
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
getstatic java.lang.invoke.InvokerBytecodeGenerator.DONTINLINE_SIG:Ljava/lang/String;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
pop
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.constantPlaceholder:(Ljava/lang/Object;)Ljava/lang/String;
pop
8: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.customized:Ljava/lang/invoke/MethodHandle;
ifnull 13
9: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.customized:Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.constantPlaceholder:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
10: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 192
ldc "java/lang/invoke/MethodHandle"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
11: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 12
aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.checkActualReceiver:()Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 58
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
iconst_0
iaload
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
13: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 14: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.arity:I
istore 2
start local 2 15: goto 66
16: StackMap locals: java.lang.invoke.LambdaForm$Name int
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iload 2
aaload
astore 3
start local 3 17: aload 0
aload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStoreResult:(Ljava/lang/invoke/LambdaForm$Name;)V
18: aload 3
astore 1
19: aload 3
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.intrinsicName:()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
astore 4
start local 4 20: invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$MethodHandleImpl$Intrinsic:()[I
aload 4
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
iaload
tableswitch { // 1 - 11
1: 21
2: 30
3: 34
4: 38
5: 42
6: 46
7: 48
8: 50
9: 52
10: 55
11: 58
default: 59
}
21: StackMap locals: java.lang.invoke.LambdaForm$Name java.lang.invoke.MethodHandleImpl$Intrinsic
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 22
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
iload 2
invokevirtual java.lang.invoke.LambdaForm.isSelectAlternative:(I)Z
ifne 22
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.PROFILE_GWT:Z
ifeq 27
23: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 26
aload 3
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
iconst_0
aaload
instanceof java.lang.invoke.LambdaForm$Name
ifeq 25
24: aload 3
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
iconst_0
aaload
checkcast java.lang.invoke.LambdaForm$Name
ldc Ljava/lang/invoke/MethodHandleImpl;
ldc "profileBoolean"
invokevirtual java.lang.invoke.LambdaForm$Name.refersTo:(Ljava/lang/Class;Ljava/lang/String;)Z
ifne 26
StackMap locals:
StackMap stack:
25: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
getstatic java.lang.invoke.InvokerBytecodeGenerator.INJECTEDPROFILE_SIG:Ljava/lang/String;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
pop
27: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iload 2
iconst_1
iadd
aaload
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitSelectAlternative:(Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaForm$Name;
astore 1
28: iinc 2 1
29: goto 65
30: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 31
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
iload 2
invokevirtual java.lang.invoke.LambdaForm.isGuardWithCatch:(I)Z
ifne 31
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
31: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitGuardWithCatch:(I)Ljava/lang/invoke/LambdaForm$Name;
astore 1
32: iinc 2 2
33: goto 65
34: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 35
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
iload 2
invokevirtual java.lang.invoke.LambdaForm.isTryFinally:(I)Z
ifne 35
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitTryFinally:(I)Ljava/lang/invoke/LambdaForm$Name;
astore 1
36: iinc 2 2
37: goto 65
38: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 39
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
iload 2
invokevirtual java.lang.invoke.LambdaForm.isLoop:(I)Z
ifne 39
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
39: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoop:(I)Ljava/lang/invoke/LambdaForm$Name;
astore 1
40: iinc 2 2
41: goto 65
42: StackMap locals:
StackMap stack:
aload 3
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 5
start local 5 43: aload 5
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyNameable:(Ljava/lang/Class;)Z
ifeq 60
44: aload 0
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitNewArray:(Ljava/lang/invoke/LambdaForm$Name;)V
45: goto 65
end local 5 46: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitArrayLoad:(Ljava/lang/invoke/LambdaForm$Name;)V
47: goto 65
48: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitArrayStore:(Ljava/lang/invoke/LambdaForm$Name;)V
49: goto 65
50: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitArrayLength:(Ljava/lang/invoke/LambdaForm$Name;)V
51: goto 65
52: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 53
aload 3
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
arraylength
iconst_1
if_icmpeq 53
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
53: StackMap locals:
StackMap stack:
aload 0
aload 3
iconst_0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
54: goto 65
55: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 56
aload 3
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
arraylength
ifeq 56
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
56: StackMap locals:
StackMap stack:
aload 0
aload 3
getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeWrapper:()Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.zero:()Ljava/lang/Object;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitConst:(Ljava/lang/Object;)V
57: goto 65
58: StackMap locals:
StackMap stack:
goto 60
59: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unknown intrinsic: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
athrow
60: StackMap locals:
StackMap stack:
aload 3
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.member:()Ljava/lang/invoke/MemberName;
astore 5
start local 5 61: aload 5
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyInvocable:(Ljava/lang/invoke/MemberName;)Z
ifeq 64
62: aload 0
aload 5
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStaticInvoke:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/LambdaForm$Name;)V
63: goto 65
64: StackMap locals: java.lang.invoke.MemberName
StackMap stack:
aload 0
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitInvoke:(Ljava/lang/invoke/LambdaForm$Name;)V
end local 5 end local 4 end local 3 65: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
66: iload 2
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
arraylength
if_icmplt 16
end local 2 67: aload 0
aload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReturn:(Ljava/lang/invoke/LambdaForm$Name;)V
68: aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.methodEpilogue:()V
69: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 70 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
14 70 1 onStack Ljava/lang/invoke/LambdaForm$Name;
15 67 2 i I
17 65 3 name Ljava/lang/invoke/LambdaForm$Name;
20 65 4 intr Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
43 46 5 rtype Ljava/lang/Class<*>;
61 65 5 member Ljava/lang/invoke/MemberName;
private byte[] toByteArray();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
1: areturn
2: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 1
start local 1 3: new java.lang.invoke.InvokerBytecodeGenerator$BytecodeGenerationException
dup
aload 1
invokespecial java.lang.invoke.InvokerBytecodeGenerator$BytecodeGenerationException.<init>:(Ljava/lang/Exception;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
3 4 1 e Ljava/lang/RuntimeException;
Exception table:
from to target type
0 1 2 Class java.lang.RuntimeException
void emitArrayLoad(java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
bipush 50
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitArrayOp:(Ljava/lang/invoke/LambdaForm$Name;I)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 1 1 name Ljava/lang/invoke/LambdaForm$Name;
MethodParameters:
Name Flags
name
void emitArrayStore(java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
bipush 83
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitArrayOp:(Ljava/lang/invoke/LambdaForm$Name;I)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 1 1 name Ljava/lang/invoke/LambdaForm$Name;
MethodParameters:
Name Flags
name
void emitArrayLength(java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
sipush 190
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitArrayOp:(Ljava/lang/invoke/LambdaForm$Name;I)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 1 1 name Ljava/lang/invoke/LambdaForm$Name;
MethodParameters:
Name Flags
name
void emitArrayOp(java.lang.invoke.LambdaForm$Name, int);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;I)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 1
iload 2
bipush 50
if_icmpeq 1
iload 2
bipush 83
if_icmpeq 1
iload 2
sipush 190
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 3
start local 3 2: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 3
aload 3
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: java.lang.Class
StackMap stack:
aload 0
aload 1
iconst_0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
4: iload 2
sipush 190
if_icmpeq 7
aload 3
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 7
5: aload 3
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 4
start local 4 6: aload 0
aload 0
aload 4
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.arrayTypeCode:(Lsun/invoke/util/Wrapper;)B
iload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.arrayInsnOpcode:(BI)I
istore 2
end local 4 7: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 9 1 name Ljava/lang/invoke/LambdaForm$Name;
0 9 2 arrayOpcode I
2 9 3 elementType Ljava/lang/Class<*>;
6 7 4 w Lsun/invoke/util/Wrapper;
MethodParameters:
Name Flags
name
arrayOpcode
void emitInvoke(java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual java.lang.invoke.LambdaForm$Name.isLinkerMethodInvoke:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
astore 2
start local 2 2: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 3
aload 2
ifnonnull 3
new java.lang.AssertionError
dup
aload 1
invokevirtual java.lang.invoke.LambdaForm$Name.exprString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.constantPlaceholder:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
4: aload 0
ldc Ljava/lang/invoke/MethodHandle;
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReferenceCast:(Ljava/lang/Class;Ljava/lang/Object;)V
end local 2 5: aload 0
aload 1
iconst_0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
6: aload 1
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
astore 2
start local 2 7: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
ldc "java/lang/invoke/MethodHandle"
ldc "invokeBasic"
aload 2
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 9 1 name Ljava/lang/invoke/LambdaForm$Name;
2 5 2 target Ljava/lang/invoke/MethodHandle;
7 9 2 type Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
name
static boolean isStaticallyInvocable(java.lang.invoke.LambdaForm$NamedFunction[]);
descriptor: ([Ljava/lang/invoke/LambdaForm$NamedFunction;)Z
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: java.lang.invoke.LambdaForm$NamedFunction[] top int int java.lang.invoke.LambdaForm$NamedFunction[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.member:()Ljava/lang/invoke/MemberName;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyInvocable:(Ljava/lang/invoke/MemberName;)Z
ifne 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 functions [Ljava/lang/invoke/LambdaForm$NamedFunction;
2 4 1 nf Ljava/lang/invoke/LambdaForm$NamedFunction;
MethodParameters:
Name Flags
functions
static boolean isStaticallyInvocable(java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.member:()Ljava/lang/invoke/MemberName;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyInvocable:(Ljava/lang/invoke/MemberName;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/invoke/LambdaForm$Name;
MethodParameters:
Name Flags
name
static boolean isStaticallyInvocable(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
ifnonnull 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
ifeq 2
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
astore 1
start local 1 3: ldc Ljava/lang/invoke/MethodHandle;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
aload 0
invokevirtual java.lang.invoke.MemberName.isPrivate:()Z
ifne 6
4: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 5
aload 0
invokevirtual java.lang.invoke.MemberName.getMethodOrFieldType:()Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyInvocableType:(Ljava/lang/invoke/MethodType;)Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: java.lang.Class
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isArray:()Z
ifne 7
aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 8
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isAnonymousClass:()Z
ifne 9
aload 1
invokevirtual java.lang.Class.isLocalClass:()Z
ifeq 10
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
ldc Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
if_acmpeq 12
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.reflect.misc.ReflectUtil.isVMAnonymousClass:(Ljava/lang/Class;)Z
ifeq 14
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getMethodOrFieldType:()Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyInvocableType:(Ljava/lang/invoke/MethodType;)Z
ifne 16
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.isPrivate:()Z
ifne 18
ldc Ljava/lang/invoke/MethodHandle;
aload 1
invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 18
17: iconst_1
ireturn
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.isPublic:()Z
ifeq 20
aload 1
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyNameable:(Ljava/lang/Class;)Z
ifeq 20
19: iconst_1
ireturn
20: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 member Ljava/lang/invoke/MemberName;
3 21 1 cls Ljava/lang/Class<*>;
MethodParameters:
Name Flags
member
private static boolean isStaticallyInvocableType(java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/MethodType;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyNameable:(Ljava/lang/Class;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 7
StackMap locals: java.lang.invoke.MethodType top int int java.lang.Class[]
StackMap stack:
3: aload 4
iload 2
aaload
astore 1
start local 1 4: aload 1
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyNameable:(Ljava/lang/Class;)Z
ifne 6
5: iconst_0
ireturn
end local 1 6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 3
8: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 mtype Ljava/lang/invoke/MethodType;
4 6 1 ptype Ljava/lang/Class<*>;
MethodParameters:
Name Flags
mtype
static boolean isStaticallyNameable(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/Object;
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
ldc Ljava/lang/invoke/MethodHandle;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
3: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 4
aload 0
invokestatic sun.reflect.misc.ReflectUtil.isVMAnonymousClass:(Ljava/lang/Class;)Z
ifeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 0
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifne 5
7: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 9
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.reflect.misc.ReflectUtil.isVMAnonymousClass:(Ljava/lang/Class;)Z
ifeq 11
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
ldc Ljava/lang/Object;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
if_acmpeq 13
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
ldc Ljava/lang/invoke/MethodHandle;
aload 0
invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 15
14: iconst_1
ireturn
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 17
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.STATICALLY_INVOCABLE_PACKAGES:[Ljava/lang/Class;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 22
StackMap locals: java.lang.Class top int int java.lang.Class[]
StackMap stack:
18: aload 4
iload 2
aaload
astore 1
start local 1 19: aload 1
aload 0
invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 21
20: iconst_1
ireturn
end local 1 21: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
22: iload 2
iload 3
if_icmplt 18
23: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 cls Ljava/lang/Class<*>;
19 21 1 pkgcls Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
cls
void emitStaticInvoke(java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.member:()Ljava/lang/invoke/MemberName;
aload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStaticInvoke:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/LambdaForm$Name;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 2 1 name Ljava/lang/invoke/LambdaForm$Name;
MethodParameters:
Name Flags
name
void emitStaticInvoke(java.lang.invoke.MemberName, java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/LambdaForm$Name;)V
flags: (0x0000)
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 1
aload 1
aload 2
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.member:()Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.equals:(Ljava/lang/invoke/MemberName;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
astore 3
start local 3 2: aload 0
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
astore 4
start local 4 3: aload 1
invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
astore 5
start local 5 4: aload 1
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
istore 7
start local 7 5: iload 7
bipush 7
if_icmpne 8
6: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 7
aload 1
invokevirtual java.lang.invoke.MemberName.canBeStaticallyBound:()Z
ifne 7
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.invoke.MemberName java.lang.invoke.LambdaForm$Name java.lang.Class java.lang.String java.lang.String top int
StackMap stack:
iconst_5
istore 7
8: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 9
aload 1
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
ifeq 9
iload 7
iconst_5
if_icmpne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
10: aload 1
invokevirtual java.lang.invoke.MemberName.isMethod:()Z
ifeq 16
11: aload 1
invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
astore 6
start local 6 12: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
iload 7
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.refKindOpcode:(B)I
aload 4
aload 5
aload 6
13: aload 1
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
14: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
15: goto 18
end local 6 16: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.invoke.MemberName.getFieldType:()Ljava/lang/Class;
invokestatic java.lang.invoke.MethodType.toFieldDescriptorString:(Ljava/lang/Class;)Ljava/lang/String;
astore 6
start local 6 17: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
iload 7
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.refKindOpcode:(B)I
aload 4
aload 5
aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
18: StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.invoke.MemberName java.lang.invoke.LambdaForm$Name java.lang.Class java.lang.String java.lang.String java.lang.String int
StackMap stack:
aload 2
getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
if_acmpne 23
19: aload 1
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 8
start local 8 20: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 21
aload 8
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals: java.lang.Class
StackMap stack:
aload 8
ldc Ljava/lang/Object;
if_acmpeq 23
aload 8
invokevirtual java.lang.Class.isInterface:()Z
ifne 23
22: aload 0
aload 8
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.assertStaticType:(Ljava/lang/Class;Ljava/lang/invoke/LambdaForm$Name;)Z
pop
end local 8 23: StackMap locals:
StackMap stack:
return
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 24 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 24 1 member Ljava/lang/invoke/MemberName;
0 24 2 name Ljava/lang/invoke/LambdaForm$Name;
2 24 3 defc Ljava/lang/Class<*>;
3 24 4 cname Ljava/lang/String;
4 24 5 mname Ljava/lang/String;
12 16 6 mtype Ljava/lang/String;
17 24 6 mtype Ljava/lang/String;
5 24 7 refKind B
20 23 8 rtype Ljava/lang/Class<*>;
MethodParameters:
Name Flags
member
name
void emitNewArray(java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 2
start local 2 1: aload 1
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
arraylength
ifne 11
2: aload 1
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.invoke:()Ljava/lang/Object;
astore 3
start local 3 3: goto 6
end local 3 StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.invoke.LambdaForm$Name java.lang.Class
StackMap stack: java.lang.Throwable
4: astore 4
start local 4 5: aload 4
invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 4 start local 3 6: StackMap locals: java.lang.Object
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 7
aload 3
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
ifeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 8
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 2
if_acmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.constantPlaceholder:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
9: aload 0
aload 2
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReferenceCast:(Ljava/lang/Class;Ljava/lang/Object;)V
10: return
end local 3 11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 3
start local 3 12: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 13
aload 3
ifnonnull 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals: java.lang.Class
StackMap stack:
aload 0
aload 1
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
arraylength
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
14: bipush 83
istore 4
start local 4 15: aload 3
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 18
16: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 189
aload 0
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
17: goto 21
18: StackMap locals: int
StackMap stack:
aload 0
aload 3
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.arrayTypeCode:(Lsun/invoke/util/Wrapper;)B
istore 5
start local 5 19: aload 0
iload 5
iload 4
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.arrayInsnOpcode:(BI)I
istore 4
20: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 188
iload 5
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
end local 5 21: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 22: goto 28
23: StackMap locals: int
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
24: aload 0
iload 5
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
25: aload 0
aload 1
iload 5
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
26: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 4
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
27: iinc 5 1
StackMap locals:
StackMap stack:
28: iload 5
aload 1
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
arraylength
if_icmplt 23
end local 5 29: aload 0
aload 2
aload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.assertStaticType:(Ljava/lang/Class;Ljava/lang/invoke/LambdaForm$Name;)Z
pop
30: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 31 1 name Ljava/lang/invoke/LambdaForm$Name;
1 31 2 rtype Ljava/lang/Class<*>;
3 4 3 emptyArray Ljava/lang/Object;
6 11 3 emptyArray Ljava/lang/Object;
5 6 4 ex Ljava/lang/Throwable;
12 31 3 arrayElementType Ljava/lang/Class<*>;
15 31 4 xas I
19 21 5 tc B
22 29 5 i I
Exception table:
from to target type
2 3 4 Class java.lang.Throwable
Exceptions:
throws java.lang.InternalError
MethodParameters:
Name Flags
name
int refKindOpcode(byte);
descriptor: (B)I
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 1 - 9
1: 5
2: 7
3: 6
4: 8
5: 1
6: 2
7: 3
8: 9
9: 4
default: 9
}
1: StackMap locals:
StackMap stack:
sipush 182
ireturn
2: StackMap locals:
StackMap stack:
sipush 184
ireturn
3: StackMap locals:
StackMap stack:
sipush 183
ireturn
4: StackMap locals:
StackMap stack:
sipush 185
ireturn
5: StackMap locals:
StackMap stack:
sipush 180
ireturn
6: StackMap locals:
StackMap stack:
sipush 181
ireturn
7: StackMap locals:
StackMap stack:
sipush 178
ireturn
8: StackMap locals:
StackMap stack:
sipush 179
ireturn
9: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "refKind="
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
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 10 1 refKind B
MethodParameters:
Name Flags
refKind
private java.lang.invoke.LambdaForm$Name emitSelectAlternative(java.lang.invoke.LambdaForm$Name, java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaForm$Name;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 1
aload 2
invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyInvocable:(Ljava/lang/invoke/LambdaForm$Name;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
iconst_0
aaload
checkcast java.lang.invoke.LambdaForm$Name
astore 3
start local 3 2: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 4
start local 4 3: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 5
start local 5 4: aload 0
aload 1
iconst_0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
5: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 153
aload 4
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
6: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
invokevirtual java.lang.Class[].clone:()Ljava/lang/Object;
checkcast java.lang.Class[]
astore 6
start local 6 7: aload 0
aload 1
iconst_1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
8: aload 0
aload 3
invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAstoreInsn:(I)V
9: aload 0
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStaticInvoke:(Ljava/lang/invoke/LambdaForm$Name;)V
10: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 167
aload 5
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
11: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 4
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
12: aload 6
iconst_0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
iconst_0
aload 6
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 0
aload 1
iconst_2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
14: aload 0
aload 3
invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAstoreInsn:(I)V
15: aload 0
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStaticInvoke:(Ljava/lang/invoke/LambdaForm$Name;)V
16: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 5
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
17: aload 6
iconst_0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
iconst_0
aload 6
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: aload 2
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 19 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 19 1 selectAlternativeName Ljava/lang/invoke/LambdaForm$Name;
0 19 2 invokeBasicName Ljava/lang/invoke/LambdaForm$Name;
2 19 3 receiver Ljava/lang/invoke/LambdaForm$Name;
3 19 4 L_fallback Ljdk/internal/org/objectweb/asm/Label;
4 19 5 L_done Ljdk/internal/org/objectweb/asm/Label;
7 19 6 preForkClasses [Ljava/lang/Class;
MethodParameters:
Name Flags
selectAlternativeName
invokeBasicName
private java.lang.invoke.LambdaForm$Name emitGuardWithCatch(int);
descriptor: (I)Ljava/lang/invoke/LambdaForm$Name;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iload 1
aaload
astore 2
start local 2 1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iload 1
iconst_1
iadd
aaload
astore 3
start local 3 2: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iload 1
iconst_2
iadd
aaload
astore 4
start local 4 3: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 5
start local 5 4: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 6
start local 6 5: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 7
start local 7 6: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 8
start local 8 7: aload 4
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 9
start local 9 8: aload 2
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
9: iconst_0
iconst_1
invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
10: aload 9
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
11: astore 10
start local 10 12: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 5
aload 6
aload 7
ldc "java/lang/Throwable"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTryCatchBlock:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
13: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 5
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
14: aload 0
aload 3
iconst_0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
15: aload 0
aload 2
iconst_1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
16: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
ldc "java/lang/invoke/MethodHandle"
ldc "invokeBasic"
aload 10
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
17: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
18: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 167
aload 8
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
19: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 7
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
20: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
21: aload 0
aload 3
iconst_1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
22: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 95
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
23: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
ldc "java/lang/Class"
ldc "isInstance"
ldc "(Ljava/lang/Object;)Z"
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
24: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 11
start local 11 25: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 153
aload 11
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
26: aload 0
aload 3
iconst_2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
27: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 95
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
28: aload 0
aload 2
iconst_1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
29: aload 10
iconst_0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Throwable;
aastore
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 12
start local 12 30: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
ldc "java/lang/invoke/MethodHandle"
ldc "invokeBasic"
aload 12
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
31: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 167
aload 8
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
32: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 11
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
33: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 191
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
34: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 8
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
35: aload 4
areturn
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 36 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 36 1 pos I
1 36 2 args Ljava/lang/invoke/LambdaForm$Name;
2 36 3 invoker Ljava/lang/invoke/LambdaForm$Name;
3 36 4 result Ljava/lang/invoke/LambdaForm$Name;
4 36 5 L_startBlock Ljdk/internal/org/objectweb/asm/Label;
5 36 6 L_endBlock Ljdk/internal/org/objectweb/asm/Label;
6 36 7 L_handler Ljdk/internal/org/objectweb/asm/Label;
7 36 8 L_done Ljdk/internal/org/objectweb/asm/Label;
8 36 9 returnType Ljava/lang/Class<*>;
12 36 10 type Ljava/lang/invoke/MethodType;
25 36 11 L_rethrow Ljdk/internal/org/objectweb/asm/Label;
30 36 12 catcherType Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
pos
private java.lang.invoke.LambdaForm$Name emitTryFinally(int);
descriptor: (I)Ljava/lang/invoke/LambdaForm$Name;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=16, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iload 1
aaload
astore 2
start local 2 1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iload 1
iconst_1
iadd
aaload
astore 3
start local 3 2: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iload 1
iconst_2
iadd
aaload
astore 4
start local 4 3: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 5
start local 5 4: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 6
start local 6 5: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 7
start local 7 6: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 8
start local 8 7: aload 4
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 9
start local 9 8: aload 9
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
astore 10
start local 10 9: aload 9
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 10
iconst_1
goto 11
StackMap locals: java.lang.invoke.InvokerBytecodeGenerator int java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label java.lang.Class java.lang.invoke.LambdaForm$BasicType
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 11
start local 11 12: aload 2
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
13: iconst_0
iconst_1
invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
14: aload 9
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
15: astore 12
start local 12 16: aload 12
iconst_0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Throwable;
aastore
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 13
start local 13 17: iload 11
ifeq 19
18: aload 13
iconst_1
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 9
aastore
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 13
19: StackMap locals: int java.lang.invoke.MethodType java.lang.invoke.MethodType
StackMap stack:
aload 13
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
astore 14
start local 14 20: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 5
aload 6
aload 7
ldc "java/lang/Throwable"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTryCatchBlock:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
21: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 5
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
22: aload 0
aload 3
iconst_0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
23: aload 0
aload 2
iconst_1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
24: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
ldc "java/lang/invoke/MethodHandle"
ldc "invokeBasic"
aload 12
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
25: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
26: aload 0
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 9
aastore
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.extendLocalsMap:([Ljava/lang/Class;)I
istore 15
start local 15 27: iload 11
ifeq 29
28: aload 0
aload 10
iload 15
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStoreInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
29: StackMap locals: java.lang.String int
StackMap stack:
aload 0
aload 3
iconst_1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
30: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
31: iload 11
ifeq 33
32: aload 0
aload 10
iload 15
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoadInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
33: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
34: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
ldc "java/lang/invoke/MethodHandle"
ldc "invokeBasic"
aload 14
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
35: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 167
aload 8
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
36: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 7
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
37: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
38: aload 0
aload 3
iconst_1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
39: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 95
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
40: iload 11
ifeq 42
41: aload 0
aload 9
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitZero:(Ljava/lang/invoke/LambdaForm$BasicType;)V
42: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
43: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
ldc "java/lang/invoke/MethodHandle"
ldc "invokeBasic"
aload 14
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
44: iload 11
ifeq 46
45: aload 0
aload 10
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPopInsn:(Ljava/lang/invoke/LambdaForm$BasicType;)V
46: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 191
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
47: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 8
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
48: aload 4
areturn
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 49 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 49 1 pos I
1 49 2 args Ljava/lang/invoke/LambdaForm$Name;
2 49 3 invoker Ljava/lang/invoke/LambdaForm$Name;
3 49 4 result Ljava/lang/invoke/LambdaForm$Name;
4 49 5 lFrom Ljdk/internal/org/objectweb/asm/Label;
5 49 6 lTo Ljdk/internal/org/objectweb/asm/Label;
6 49 7 lCatch Ljdk/internal/org/objectweb/asm/Label;
7 49 8 lDone Ljdk/internal/org/objectweb/asm/Label;
8 49 9 returnType Ljava/lang/Class<*>;
9 49 10 basicReturnType Ljava/lang/invoke/LambdaForm$BasicType;
12 49 11 isNonVoid Z
16 49 12 type Ljava/lang/invoke/MethodType;
17 49 13 cleanupType Ljava/lang/invoke/MethodType;
20 49 14 cleanupDesc Ljava/lang/String;
27 49 15 index I
MethodParameters:
Name Flags
pos
private void emitPopInsn(java.lang.invoke.LambdaForm$BasicType);
descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokestatic java.lang.invoke.InvokerBytecodeGenerator.popInsnOpcode:(Ljava/lang/invoke/LambdaForm$BasicType;)I
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 2 1 type Ljava/lang/invoke/LambdaForm$BasicType;
MethodParameters:
Name Flags
type
private static int popInsnOpcode(java.lang.invoke.LambdaForm$BasicType);
descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
aload 0
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 1
2: 1
3: 2
4: 1
5: 2
default: 3
}
1: StackMap locals:
StackMap stack:
bipush 87
ireturn
2: StackMap locals:
StackMap stack:
bipush 88
ireturn
3: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "unknown type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 type Ljava/lang/invoke/LambdaForm$BasicType;
MethodParameters:
Name Flags
type
private java.lang.invoke.LambdaForm$Name emitLoop(int);
descriptor: (I)Ljava/lang/invoke/LambdaForm$Name;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=23, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iload 1
aaload
astore 2
start local 2 1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iload 1
iconst_1
iadd
aaload
astore 3
start local 3 2: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iload 1
iconst_2
iadd
aaload
astore 4
start local 4 3: aload 3
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
iconst_0
aaload
checkcast java.lang.invoke.LambdaForm$BasicType[]
astore 5
start local 5 4: aload 5
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
5: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/lang/invoke/InvokerBytecodeGenerator.lambda$0(Ljava/lang/invoke/LambdaForm$BasicType;)Z (6)
(Ljava/lang/invoke/LambdaForm$BasicType;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/lang/invoke/LambdaForm$BasicType.basicTypeClass()Ljava/lang/Class; (5)
(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/Class;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
java/lang/invoke/InvokerBytecodeGenerator.lambda$2(I)[Ljava/lang/Class; (6)
(I)[Ljava/lang/Class;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.lang.Class[]
6: astore 6
start local 6 7: aload 6
arraylength
iconst_1
iadd
anewarray java.lang.Class
astore 7
start local 7 8: aload 7
iconst_0
ldc Ljava/lang/invoke/MethodHandleImpl$LoopClauses;
aastore
9: aload 6
iconst_0
aload 7
iconst_1
aload 6
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
aload 7
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.extendLocalsMap:([Ljava/lang/Class;)I
istore 8
start local 8 11: iload 8
iconst_1
iadd
istore 9
start local 9 12: aload 4
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 10
start local 10 13: aload 2
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
14: iconst_0
iconst_1
invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
15: aload 10
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
16: astore 11
start local 11 17: aload 11
iconst_0
aload 6
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 12
start local 12 18: aload 12
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 13
start local 13 19: aload 12
astore 14
start local 14 20: aload 5
arraylength
istore 15
start local 15 21: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 16
start local 16 22: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 17
start local 17 23: aload 0
ldc Ljava/lang/invoke/MethodHandleImpl$LoopClauses;
aload 3
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
iconst_1
aaload
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/Class;Ljava/lang/Object;)V
24: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 180
ldc "java/lang/invoke/MethodHandleImpl$LoopClauses"
ldc "clauses"
ldc "[[Ljava/lang/invoke/MethodHandle;"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
25: aload 0
iload 8
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAstoreInsn:(I)V
26: iconst_0
istore 19
start local 19 27: iconst_0
istore 20
start local 20 28: goto 37
29: StackMap locals: java.lang.invoke.InvokerBytecodeGenerator int java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$BasicType[] java.lang.Class[] java.lang.Class[] int int java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.MethodType int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label top int int
StackMap stack:
aload 11
aload 5
iload 19
aaload
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 21
start local 21 30: aload 0
aload 3
iconst_1
iload 19
aload 2
iconst_0
aload 21
aload 6
iload 8
31: iload 9
32: invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoopHandleInvoke:(Ljava/lang/invoke/LambdaForm$Name;IILjava/lang/invoke/LambdaForm$Name;ZLjava/lang/invoke/MethodType;[Ljava/lang/Class;II)V
33: aload 21
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 36
34: aload 0
aload 21
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
iload 9
iload 20
iadd
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStoreInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
35: iinc 20 1
end local 21 36: StackMap locals:
StackMap stack:
iinc 19 1
StackMap locals:
StackMap stack:
37: iload 19
iload 15
if_icmplt 29
end local 20 end local 19 38: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 16
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
39: iconst_0
istore 19
start local 19 40: iconst_0
istore 20
start local 20 41: goto 63
42: StackMap locals:
StackMap stack:
new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 18
start local 18 43: aload 12
aload 5
iload 19
aaload
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 21
start local 21 44: aload 21
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 45
iconst_1
goto 46
StackMap locals: java.lang.invoke.InvokerBytecodeGenerator int java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$BasicType[] java.lang.Class[] java.lang.Class[] int int java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.MethodType int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label int int java.lang.invoke.MethodType
StackMap stack:
45: iconst_0
StackMap locals:
StackMap stack: int
46: istore 22
start local 22 47: aload 0
aload 3
iconst_2
iload 19
aload 2
iconst_1
aload 21
aload 6
iload 8
48: iload 9
49: invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoopHandleInvoke:(Ljava/lang/invoke/LambdaForm$Name;IILjava/lang/invoke/LambdaForm$Name;ZLjava/lang/invoke/MethodType;[Ljava/lang/Class;II)V
50: iload 22
ifne 53
51: aload 0
aload 21
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
iload 9
iload 20
iadd
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStoreInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
52: iinc 20 1
53: StackMap locals: int
StackMap stack:
aload 0
aload 3
iconst_3
iload 19
aload 2
iconst_1
aload 13
aload 6
iload 8
54: iload 9
55: invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoopHandleInvoke:(Ljava/lang/invoke/LambdaForm$Name;IILjava/lang/invoke/LambdaForm$Name;ZLjava/lang/invoke/MethodType;[Ljava/lang/Class;II)V
56: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 154
aload 18
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
57: aload 0
aload 3
iconst_4
iload 19
aload 2
iconst_1
aload 14
aload 6
iload 8
58: iload 9
59: invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoopHandleInvoke:(Ljava/lang/invoke/LambdaForm$Name;IILjava/lang/invoke/LambdaForm$Name;ZLjava/lang/invoke/MethodType;[Ljava/lang/Class;II)V
60: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 167
aload 17
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
61: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 18
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
end local 22 end local 21 62: iinc 19 1
end local 18 StackMap locals: java.lang.invoke.InvokerBytecodeGenerator int java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$BasicType[] java.lang.Class[] java.lang.Class[] int int java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.MethodType int jdk.internal.org.objectweb.asm.Label jdk.internal.org.objectweb.asm.Label top int int
StackMap stack:
63: iload 19
iload 15
if_icmplt 42
end local 20 end local 19 64: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 167
aload 16
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
65: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 17
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
66: aload 4
areturn
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 67 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 67 1 pos I
1 67 2 args Ljava/lang/invoke/LambdaForm$Name;
2 67 3 invoker Ljava/lang/invoke/LambdaForm$Name;
3 67 4 result Ljava/lang/invoke/LambdaForm$Name;
4 67 5 loopClauseTypes [Ljava/lang/invoke/LambdaForm$BasicType;
7 67 6 loopLocalStateTypes [Ljava/lang/Class;
8 67 7 localTypes [Ljava/lang/Class;
11 67 8 clauseDataIndex I
12 67 9 firstLoopStateIndex I
13 67 10 returnType Ljava/lang/Class<*>;
17 67 11 loopType Ljava/lang/invoke/MethodType;
18 67 12 loopHandleType Ljava/lang/invoke/MethodType;
19 67 13 predType Ljava/lang/invoke/MethodType;
20 67 14 finiType Ljava/lang/invoke/MethodType;
21 67 15 nClauses I
22 67 16 lLoop Ljdk/internal/org/objectweb/asm/Label;
23 67 17 lDone Ljdk/internal/org/objectweb/asm/Label;
43 63 18 lNext Ljdk/internal/org/objectweb/asm/Label;
27 38 19 c I
28 38 20 state I
30 36 21 cInitType Ljava/lang/invoke/MethodType;
40 64 19 c I
41 64 20 state I
44 62 21 stepType Ljava/lang/invoke/MethodType;
47 62 22 isVoid Z
MethodParameters:
Name Flags
pos
private int extendLocalsMap(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
arraylength
iconst_1
isub
istore 2
start local 2 1: aload 0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
arraylength
aload 1
arraylength
iadd
invokestatic java.util.Arrays.copyOf:([II)[I
putfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
2: aload 0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
arraylength
aload 1
arraylength
iadd
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast java.lang.Class[]
putfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
3: aload 1
iconst_0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
iload 2
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
iload 2
iconst_1
isub
iaload
iconst_1
iadd
istore 3
start local 3 5: iconst_0
istore 4
start local 4 6: iconst_0
istore 5
start local 5 7: goto 12
8: StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.Class[] int int int int
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
iload 2
iload 5
iadd
iload 3
iastore
9: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
iload 2
iload 5
iadd
aaload
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeSlots:()I
istore 4
10: iload 3
iload 4
iadd
istore 3
11: iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
aload 1
arraylength
if_icmplt 8
end local 5 13: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
arraylength
iconst_1
isub
iload 3
iload 4
isub
iastore
14: iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 15 1 types [Ljava/lang/Class;
1 15 2 firstSlot I
5 15 3 index I
6 15 4 lastSlots I
7 13 5 i I
Signature: ([Ljava/lang/Class<*>;)I
MethodParameters:
Name Flags
types
private void emitLoopHandleInvoke(java.lang.invoke.LambdaForm$Name, int, int, java.lang.invoke.LambdaForm$Name, boolean, java.lang.invoke.MethodType, java.lang.Class<?>[], int, );
descriptor: (Ljava/lang/invoke/LambdaForm$Name;IILjava/lang/invoke/LambdaForm$Name;ZLjava/lang/invoke/MethodType;[Ljava/lang/Class;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
iload 8
iload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushClauseArray:(II)V
1: aload 0
iload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
2: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 50
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
3: iload 5
ifeq 9
4: iconst_0
istore 10
start local 10 5: goto 8
6: StackMap locals: int
StackMap stack:
aload 0
aload 7
iload 10
aaload
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
iload 9
iload 10
iadd
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoadInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
7: iinc 10 1
StackMap locals:
StackMap stack:
8: iload 10
aload 7
arraylength
if_icmplt 6
end local 10 9: StackMap locals:
StackMap stack:
aload 0
aload 4
iconst_1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
10: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
ldc "java/lang/invoke/MethodHandle"
ldc "invokeBasic"
aload 6
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
11: return
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 12 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 12 1 holder Ljava/lang/invoke/LambdaForm$Name;
0 12 2 handles I
0 12 3 clause I
0 12 4 args Ljava/lang/invoke/LambdaForm$Name;
0 12 5 pushLocalState Z
0 12 6 type Ljava/lang/invoke/MethodType;
0 12 7 loopLocalStateTypes [Ljava/lang/Class;
0 12 8 clauseDataSlot I
0 12 9 firstLoopStateSlot I
5 9 10 s I
Signature: (Ljava/lang/invoke/LambdaForm$Name;IILjava/lang/invoke/LambdaForm$Name;ZLjava/lang/invoke/MethodType;[Ljava/lang/Class<*>;II)V
MethodParameters:
Name Flags
holder
handles
clause
args
pushLocalState
type
loopLocalStateTypes
clauseDataSlot
firstLoopStateSlot
private void emitPushClauseArray(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAloadInsn:(I)V
1: aload 0
iload 2
iconst_1
isub
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
2: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 50
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 4 1 clauseDataSlot I
0 4 2 which I
MethodParameters:
Name Flags
clauseDataSlot
which
private void emitZero(java.lang.invoke.LambdaForm$BasicType);
descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
aload 1
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 5
2: 1
3: 2
4: 3
5: 4
default: 6
}
1: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_3
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 7
2: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 9
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 7
3: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 11
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 7
4: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 14
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 7
5: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 7
6: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "unknown type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 8 1 type Ljava/lang/invoke/LambdaForm$BasicType;
MethodParameters:
Name Flags
type
private void emitPushArguments(java.lang.invoke.LambdaForm$Name, int);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
astore 3
start local 3 1: iload 2
istore 4
start local 4 2: goto 5
3: StackMap locals: java.lang.invoke.MethodType int
StackMap stack:
aload 0
aload 3
iload 4
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
aload 1
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
iload 4
aaload
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/Class;Ljava/lang/Object;)V
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
aload 1
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
arraylength
if_icmplt 3
end local 4 6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 7 1 args Ljava/lang/invoke/LambdaForm$Name;
0 7 2 start I
1 7 3 type Ljava/lang/invoke/MethodType;
2 6 4 i I
MethodParameters:
Name Flags
args
start
private void emitPushArgument(java.lang.invoke.LambdaForm$Name, int);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
iload 2
aaload
astore 3
start local 3 1: aload 1
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
iload 2
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 4
start local 4 2: aload 0
aload 4
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/Class;Ljava/lang/Object;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 4 1 name Ljava/lang/invoke/LambdaForm$Name;
0 4 2 paramIndex I
1 4 3 arg Ljava/lang/Object;
2 4 4 ptype Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
paramIndex
private void emitPushArgument(java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
astore 3
start local 3 1: aload 2
instanceof java.lang.invoke.LambdaForm$Name
ifeq 6
2: aload 2
checkcast java.lang.invoke.LambdaForm$Name
astore 4
start local 4 3: aload 0
aload 4
getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
aload 4
invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoadInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
4: aload 0
aload 4
getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
aload 1
aload 4
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitImplicitConversion:(Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class;Ljava/lang/Object;)V
end local 4 5: goto 15
StackMap locals: java.lang.invoke.LambdaForm$BasicType
StackMap stack:
6: aload 2
ifnull 7
aload 2
instanceof java.lang.String
ifeq 10
StackMap locals:
StackMap stack:
7: aload 3
getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
if_acmpne 10
8: aload 0
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitConst:(Ljava/lang/Object;)V
9: goto 15
10: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic sun.invoke.util.Wrapper.isWrapperType:(Ljava/lang/Class;)Z
ifeq 13
aload 3
getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
if_acmpeq 13
11: aload 0
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitConst:(Ljava/lang/Object;)V
12: goto 15
13: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.constantPlaceholder:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
14: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
aload 1
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitImplicitConversion:(Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class;Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 16 1 ptype Ljava/lang/Class<*>;
0 16 2 arg Ljava/lang/Object;
1 16 3 bptype Ljava/lang/invoke/LambdaForm$BasicType;
3 5 4 n Ljava/lang/invoke/LambdaForm$Name;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Object;)V
MethodParameters:
Name Flags
ptype
arg
private void emitStoreResult(java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
if_acmpeq 2
1: aload 0
aload 1
getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
aload 1
invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStoreInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 3 1 name Ljava/lang/invoke/LambdaForm$Name;
MethodParameters:
Name Flags
name
private void emitReturn(java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 2
start local 2 1: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
invokevirtual java.lang.invoke.LambdaForm.returnType:()Ljava/lang/invoke/LambdaForm$BasicType;
astore 3
start local 3 2: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 3
aload 3
aload 2
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
if_acmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: java.lang.Class java.lang.invoke.LambdaForm$BasicType
StackMap stack:
aload 3
getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
if_acmpne 6
4: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
5: goto 11
6: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.result:I
aaload
astore 4
start local 4 7: aload 4
aload 1
if_acmpeq 9
8: aload 0
aload 3
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
getfield java.lang.invoke.LambdaForm.result:I
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoadInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
9: StackMap locals: java.lang.invoke.LambdaForm$Name
StackMap stack:
aload 0
aload 3
aload 2
aload 4
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitImplicitConversion:(Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class;Ljava/lang/Object;)V
10: aload 0
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReturnInsn:(Ljava/lang/invoke/LambdaForm$BasicType;)V
end local 4 11: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 12 1 onStack Ljava/lang/invoke/LambdaForm$Name;
1 12 2 rclass Ljava/lang/Class<*>;
2 12 3 rtype Ljava/lang/invoke/LambdaForm$BasicType;
7 11 4 rn Ljava/lang/invoke/LambdaForm$Name;
MethodParameters:
Name Flags
onStack
private void emitPrimCast(sun.invoke.util.Wrapper, sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;Lsun/invoke/util/Wrapper;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
if_acmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.invoke.util.Wrapper.isSubwordOrInt:()Z
ifeq 5
3: aload 0
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitI2X:(Lsun/invoke/util/Wrapper;)V
4: goto 30
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.invoke.util.Wrapper.isSubwordOrInt:()Z
ifeq 10
6: aload 0
aload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitX2I:(Lsun/invoke/util/Wrapper;)V
7: aload 2
invokevirtual sun.invoke.util.Wrapper.bitWidth:()I
bipush 32
if_icmpge 30
8: aload 0
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitI2X:(Lsun/invoke/util/Wrapper;)V
9: goto 30
10: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 11: invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 1
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 6 - 8
6: 12
7: 17
8: 22
default: 27
}
12: StackMap locals: int
StackMap stack:
invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 2
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 7 - 8
7: 13
8: 14
default: 15
}
13: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 137
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 28
14: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 138
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 28
15: StackMap locals:
StackMap stack:
iconst_1
istore 3
16: goto 28
17: StackMap locals:
StackMap stack:
invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 2
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 6 - 8
6: 18
7: 20
8: 19
default: 20
}
18: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 140
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 28
19: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 141
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 28
20: StackMap locals:
StackMap stack:
iconst_1
istore 3
21: goto 28
22: StackMap locals:
StackMap stack:
invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 2
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 6 - 7
6: 23
7: 24
default: 25
}
23: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 143
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 28
24: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 144
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 28
25: StackMap locals:
StackMap stack:
iconst_1
istore 3
26: goto 28
27: StackMap locals:
StackMap stack:
iconst_1
istore 3
28: StackMap locals:
StackMap stack:
iload 3
ifeq 30
29: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "unhandled prim cast: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "2"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 3 30: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 31 1 from Lsun/invoke/util/Wrapper;
0 31 2 to Lsun/invoke/util/Wrapper;
11 30 3 error Z
MethodParameters:
Name Flags
from
to
private void emitI2X(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 1
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 1 - 8
1: 8
2: 1
3: 2
4: 3
5: 4
6: 5
7: 6
8: 7
default: 11
}
1: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 145
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 12
2: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 147
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 12
3: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 146
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 12
4: StackMap locals:
StackMap stack:
goto 12
5: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 133
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 12
6: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 134
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 12
7: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 135
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 12
8: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_4
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
9: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 126
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
10: goto 12
11: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "unknown type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 13 1 type Lsun/invoke/util/Wrapper;
MethodParameters:
Name Flags
type
private void emitX2I(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 1
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 6 - 8
6: 1
7: 2
8: 3
default: 4
}
1: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 136
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 5
2: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 139
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 5
3: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 142
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 5
4: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "unknown type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 6 1 type Lsun/invoke/util/Wrapper;
MethodParameters:
Name Flags
type
static java.lang.invoke.MemberName generateLambdaFormInterpreterEntryPoint(java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.invoke.LambdaForm.basicTypeSignature:(Ljava/lang/invoke/MethodType;)Ljava/lang/String;
invokestatic java.lang.invoke.LambdaForm.isValidSignature:(Ljava/lang/String;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "interpret_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
invokestatic java.lang.invoke.LambdaForm$BasicType.basicTypeChar:(Ljava/lang/Class;)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
start local 1 2: aload 0
astore 2
start local 2 3: aload 2
iconst_0
ldc Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 2
4: new java.lang.invoke.InvokerBytecodeGenerator
dup
ldc "LFI"
aload 1
aload 2
invokespecial java.lang.invoke.InvokerBytecodeGenerator.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
astore 3
start local 3 5: aload 3
aload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.generateLambdaFormInterpreterEntryPointBytes:()[B
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.loadMethod:([B)Ljava/lang/invoke/MemberName;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 mt Ljava/lang/invoke/MethodType;
2 6 1 name Ljava/lang/String;
3 6 2 type Ljava/lang/invoke/MethodType;
5 6 3 g Ljava/lang/invoke/InvokerBytecodeGenerator;
MethodParameters:
Name Flags
mt
private byte[] generateLambdaFormInterpreterEntryPointBytes();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.classFilePrologue:()Ljdk/internal/org/objectweb/asm/ClassWriter;
pop
1: aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.methodPrologue:()V
2: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
getstatic java.lang.invoke.InvokerBytecodeGenerator.LF_HIDDEN_SIG:Ljava/lang/String;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
pop
3: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
getstatic java.lang.invoke.InvokerBytecodeGenerator.DONTINLINE_SIG:Ljava/lang/String;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
pop
4: aload 0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
5: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 189
ldc "java/lang/Object"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
6: iconst_0
istore 1
start local 1 7: goto 16
8: StackMap locals: int
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
iload 1
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 2
start local 2 9: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
10: aload 0
iload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
11: aload 0
aload 2
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
iload 1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoadInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
12: aload 2
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 14
13: aload 0
aload 2
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitBoxing:(Lsun/invoke/util/Wrapper;)V
14: StackMap locals: java.lang.Class
StackMap stack:
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 83
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
end local 2 15: iinc 1 1
StackMap locals:
StackMap stack:
16: iload 1
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
if_icmplt 8
end local 1 17: aload 0
iconst_0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAloadInsn:(I)V
18: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 180
ldc "java/lang/invoke/MethodHandle"
ldc "form"
ldc "Ljava/lang/invoke/LambdaForm;"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
19: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 95
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
20: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
ldc "java/lang/invoke/LambdaForm"
ldc "interpretWithArguments"
ldc "([Ljava/lang/Object;)Ljava/lang/Object;"
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
21: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 1
start local 1 22: aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 24
aload 1
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 24
23: aload 0
aload 1
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitUnboxing:(Lsun/invoke/util/Wrapper;)V
24: StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.Class
StackMap stack:
aload 0
aload 1
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReturnInsn:(Ljava/lang/invoke/LambdaForm$BasicType;)V
25: aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.methodEpilogue:()V
26: aload 0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.bogusMethod:(Ljava/lang/Object;)V
27: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
astore 2
start local 2 28: aload 0
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.maybeDump:([B)V
29: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
7 17 1 i I
9 15 2 ptype Ljava/lang/Class<*>;
22 30 1 rtype Ljava/lang/Class<*>;
28 30 2 classFile [B
static java.lang.invoke.MemberName generateNamedFunctionInvoker(java.lang.invoke.MethodTypeForm);
descriptor: (Ljava/lang/invoke/MethodTypeForm;)Ljava/lang/invoke/MemberName;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: getstatic java.lang.invoke.LambdaForm$NamedFunction.INVOKER_METHOD_TYPE:Ljava/lang/invoke/MethodType;
astore 1
start local 1 1: new java.lang.StringBuilder
dup
ldc "invoke_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.invoke.MethodTypeForm.erasedType:()Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.LambdaForm.basicTypeSignature:(Ljava/lang/invoke/MethodType;)Ljava/lang/String;
invokestatic java.lang.invoke.LambdaForm.shortenSignature:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 2: new java.lang.invoke.InvokerBytecodeGenerator
dup
ldc "NFI"
aload 2
aload 1
invokespecial java.lang.invoke.InvokerBytecodeGenerator.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
astore 3
start local 3 3: aload 3
aload 3
aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.generateNamedFunctionInvokerImpl:(Ljava/lang/invoke/MethodTypeForm;)[B
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.loadMethod:([B)Ljava/lang/invoke/MemberName;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 typeForm Ljava/lang/invoke/MethodTypeForm;
1 4 1 invokerType Ljava/lang/invoke/MethodType;
2 4 2 invokerName Ljava/lang/String;
3 4 3 g Ljava/lang/invoke/InvokerBytecodeGenerator;
MethodParameters:
Name Flags
typeForm
private byte[] generateNamedFunctionInvokerImpl(java.lang.invoke.MethodTypeForm);
descriptor: (Ljava/lang/invoke/MethodTypeForm;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.invoke.MethodTypeForm.erasedType:()Ljava/lang/invoke/MethodType;
astore 2
start local 2 1: aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.classFilePrologue:()Ljdk/internal/org/objectweb/asm/ClassWriter;
pop
2: aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.methodPrologue:()V
3: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
getstatic java.lang.invoke.InvokerBytecodeGenerator.LF_HIDDEN_SIG:Ljava/lang/String;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
pop
4: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
getstatic java.lang.invoke.InvokerBytecodeGenerator.FORCEINLINE_SIG:Ljava/lang/String;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
pop
5: aload 0
iconst_0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAloadInsn:(I)V
6: iconst_0
istore 3
start local 3 7: goto 20
8: StackMap locals: java.lang.invoke.MethodType int
StackMap stack:
aload 0
iconst_1
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAloadInsn:(I)V
9: aload 0
iload 3
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
10: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 50
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
11: aload 2
iload 3
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 4
start local 4 12: aload 4
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 19
13: aload 4
invokestatic sun.invoke.util.Wrapper.forBasicType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 5
start local 5 14: aload 5
invokevirtual sun.invoke.util.Wrapper.isSubwordOrInt:()Z
ifeq 15
getstatic sun.invoke.util.Wrapper.INT:Lsun/invoke/util/Wrapper;
goto 16
StackMap locals: java.lang.Class sun.invoke.util.Wrapper
StackMap stack:
15: aload 5
StackMap locals:
StackMap stack: sun.invoke.util.Wrapper
16: astore 6
start local 6 17: aload 0
aload 6
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitUnboxing:(Lsun/invoke/util/Wrapper;)V
18: aload 0
aload 6
aload 5
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPrimCast:(Lsun/invoke/util/Wrapper;Lsun/invoke/util/Wrapper;)V
end local 6 end local 5 end local 4 19: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
20: iload 3
aload 2
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
if_icmplt 8
end local 3 21: aload 2
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
astore 3
start local 3 22: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 182
ldc "java/lang/invoke/MethodHandle"
ldc "invokeBasic"
aload 3
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
23: aload 2
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 4
start local 4 24: aload 4
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 31
aload 4
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 31
25: aload 4
invokestatic sun.invoke.util.Wrapper.forBasicType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 5
start local 5 26: aload 5
invokevirtual sun.invoke.util.Wrapper.isSubwordOrInt:()Z
ifeq 27
getstatic sun.invoke.util.Wrapper.INT:Lsun/invoke/util/Wrapper;
goto 28
StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.invoke.MethodTypeForm java.lang.invoke.MethodType java.lang.String java.lang.Class sun.invoke.util.Wrapper
StackMap stack:
27: aload 5
StackMap locals:
StackMap stack: sun.invoke.util.Wrapper
28: astore 6
start local 6 29: aload 0
aload 5
aload 6
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPrimCast:(Lsun/invoke/util/Wrapper;Lsun/invoke/util/Wrapper;)V
30: aload 0
aload 6
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitBoxing:(Lsun/invoke/util/Wrapper;)V
end local 6 end local 5 31: StackMap locals:
StackMap stack:
aload 4
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 33
32: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
33: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReturnInsn:(Ljava/lang/invoke/LambdaForm$BasicType;)V
34: aload 0
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.methodEpilogue:()V
35: aload 0
aload 2
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.bogusMethod:(Ljava/lang/Object;)V
36: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
astore 5
start local 5 37: aload 0
aload 5
invokevirtual java.lang.invoke.InvokerBytecodeGenerator.maybeDump:([B)V
38: 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 39 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 39 1 typeForm Ljava/lang/invoke/MethodTypeForm;
1 39 2 dstType Ljava/lang/invoke/MethodType;
7 21 3 i I
12 19 4 dptype Ljava/lang/Class<*>;
14 19 5 dstWrapper Lsun/invoke/util/Wrapper;
17 19 6 srcWrapper Lsun/invoke/util/Wrapper;
22 39 3 targetDesc Ljava/lang/String;
24 39 4 rtype Ljava/lang/Class<*>;
26 31 5 srcWrapper Lsun/invoke/util/Wrapper;
29 31 6 dstWrapper Lsun/invoke/util/Wrapper;
37 39 5 classFile [B
MethodParameters:
Name Flags
typeForm
private void bogusMethod(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleStatics.DUMP_CLASS_FILES:Z
ifeq 7
1: aload 0
aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
bipush 8
ldc "dummy"
ldc "()V"
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
putfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
2: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
3: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 87
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
4: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
5: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
6: aload 0
getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/invoke/InvokerBytecodeGenerator;
0 8 1 os Ljava/lang/Object;
MethodParameters:
Name Flags
os
static int[] $SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic java.lang.invoke.LambdaForm$BasicType.values:()[Ljava/lang/invoke/LambdaForm$BasicType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.D_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iconst_5
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.F_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.I_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.J_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
bipush 6
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
dup
putstatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:[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
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.InvokerBytecodeGenerator.$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.InvokerBytecodeGenerator.$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
static int[] $SWITCH_TABLE$java$lang$invoke$LambdaForm$Kind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$Kind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic java.lang.invoke.LambdaForm$Kind.values:()[Ljava/lang/invoke/LambdaForm$Kind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.BOUND_REINVOKER:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
iconst_4
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.COLLECT:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 57
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.CONVERT:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 58
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.DELEGATE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 6
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_INTERFACE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 18
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_SPECIAL:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 14
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_SPECIAL_IFC:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 15
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_STATIC:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 16
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_STATIC_INIT:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 19
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_INVOKE_VIRTUAL:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 13
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.DIRECT_NEW_INVOKE_SPECIAL:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 17
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.EXACT_INVOKER:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 8
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.EXACT_LINKER:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 7
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.FIELD:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 61
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GENERIC:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
iconst_1
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GENERIC_INVOKER:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 10
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GENERIC_LINKER:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 9
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_BOOLEAN:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 28
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_BOOLEAN_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 30
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_BYTE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 32
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_BYTE_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 34
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_CHAR:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 36
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_CHAR_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 38
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_DOUBLE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 52
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_DOUBLE_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 54
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_FLOAT:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 48
iastore
78: goto 80
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
79: pop
StackMap locals:
StackMap stack:
80: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_FLOAT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 50
iastore
81: goto 83
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
82: pop
StackMap locals:
StackMap stack:
83: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_INT:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 24
iastore
84: goto 86
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
85: pop
StackMap locals:
StackMap stack:
86: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_INT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 26
iastore
87: goto 89
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
88: pop
StackMap locals:
StackMap stack:
89: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_LONG:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 44
iastore
90: goto 92
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
91: pop
StackMap locals:
StackMap stack:
92: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_LONG_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 46
iastore
93: goto 95
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
94: pop
StackMap locals:
StackMap stack:
95: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_OBJECT:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 20
iastore
96: goto 98
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
97: pop
StackMap locals:
StackMap stack:
98: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_OBJECT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 22
iastore
99: goto 101
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
100: pop
StackMap locals:
StackMap stack:
101: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_SHORT:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 40
iastore
102: goto 104
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
103: pop
StackMap locals:
StackMap stack:
104: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GET_SHORT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 42
iastore
105: goto 107
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
106: pop
StackMap locals:
StackMap stack:
107: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GUARD:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 62
iastore
108: goto 110
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
109: pop
StackMap locals:
StackMap stack:
110: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.GUARD_WITH_CATCH:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 63
iastore
111: goto 113
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
112: pop
StackMap locals:
StackMap stack:
113: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.IDENTITY:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
iconst_3
iastore
114: goto 116
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
115: pop
StackMap locals:
StackMap stack:
116: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.LINK_TO_CALL_SITE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 12
iastore
117: goto 119
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
118: pop
StackMap locals:
StackMap stack:
119: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.LINK_TO_TARGET_METHOD:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 11
iastore
120: goto 122
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
121: pop
StackMap locals:
StackMap stack:
122: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.LOOP:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 60
iastore
123: goto 125
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
124: pop
StackMap locals:
StackMap stack:
125: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_BOOLEAN:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 29
iastore
126: goto 128
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
127: pop
StackMap locals:
StackMap stack:
128: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_BOOLEAN_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 31
iastore
129: goto 131
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
130: pop
StackMap locals:
StackMap stack:
131: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_BYTE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 33
iastore
132: goto 134
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
133: pop
StackMap locals:
StackMap stack:
134: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_BYTE_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 35
iastore
135: goto 137
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
136: pop
StackMap locals:
StackMap stack:
137: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_CHAR:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 37
iastore
138: goto 140
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
139: pop
StackMap locals:
StackMap stack:
140: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_CHAR_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 39
iastore
141: goto 143
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
142: pop
StackMap locals:
StackMap stack:
143: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_DOUBLE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 53
iastore
144: goto 146
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
145: pop
StackMap locals:
StackMap stack:
146: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_DOUBLE_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 55
iastore
147: goto 149
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
148: pop
StackMap locals:
StackMap stack:
149: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_FLOAT:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 49
iastore
150: goto 152
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
151: pop
StackMap locals:
StackMap stack:
152: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_FLOAT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 51
iastore
153: goto 155
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
154: pop
StackMap locals:
StackMap stack:
155: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_INT:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 25
iastore
156: goto 158
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
157: pop
StackMap locals:
StackMap stack:
158: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_INT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 27
iastore
159: goto 161
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
160: pop
StackMap locals:
StackMap stack:
161: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_LONG:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 45
iastore
162: goto 164
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
163: pop
StackMap locals:
StackMap stack:
164: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_LONG_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 47
iastore
165: goto 167
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
166: pop
StackMap locals:
StackMap stack:
167: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_OBJECT:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 21
iastore
168: goto 170
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
169: pop
StackMap locals:
StackMap stack:
170: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_OBJECT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 23
iastore
171: goto 173
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
172: pop
StackMap locals:
StackMap stack:
173: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_SHORT:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 41
iastore
174: goto 176
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
175: pop
StackMap locals:
StackMap stack:
176: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.PUT_SHORT_VOLATILE:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 43
iastore
177: goto 179
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
178: pop
StackMap locals:
StackMap stack:
179: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.REINVOKER:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
iconst_5
iastore
180: goto 182
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
181: pop
StackMap locals:
StackMap stack:
182: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.SPREAD:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 59
iastore
183: goto 185
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
184: pop
StackMap locals:
StackMap stack:
185: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.TRY_FINALLY:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 56
iastore
186: goto 188
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
187: pop
StackMap locals:
StackMap stack:
188: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.VARHANDLE_EXACT_INVOKER:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 64
iastore
189: goto 191
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
190: pop
StackMap locals:
StackMap stack:
191: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.VARHANDLE_INVOKER:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 65
iastore
192: goto 194
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
193: pop
StackMap locals:
StackMap stack:
194: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.VARHANDLE_LINKER:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
bipush 66
iastore
195: goto 197
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
196: pop
StackMap locals:
StackMap stack:
197: aload 0
getstatic java.lang.invoke.LambdaForm$Kind.ZERO:Ljava/lang/invoke/LambdaForm$Kind;
invokevirtual java.lang.invoke.LambdaForm$Kind.ordinal:()I
iconst_2
iastore
198: goto 200
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
199: pop
StackMap locals:
StackMap stack:
200: aload 0
dup
putstatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$Kind:[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
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
77 78 79 Class java.lang.NoSuchFieldError
80 81 82 Class java.lang.NoSuchFieldError
83 84 85 Class java.lang.NoSuchFieldError
86 87 88 Class java.lang.NoSuchFieldError
89 90 91 Class java.lang.NoSuchFieldError
92 93 94 Class java.lang.NoSuchFieldError
95 96 97 Class java.lang.NoSuchFieldError
98 99 100 Class java.lang.NoSuchFieldError
101 102 103 Class java.lang.NoSuchFieldError
104 105 106 Class java.lang.NoSuchFieldError
107 108 109 Class java.lang.NoSuchFieldError
110 111 112 Class java.lang.NoSuchFieldError
113 114 115 Class java.lang.NoSuchFieldError
116 117 118 Class java.lang.NoSuchFieldError
119 120 121 Class java.lang.NoSuchFieldError
122 123 124 Class java.lang.NoSuchFieldError
125 126 127 Class java.lang.NoSuchFieldError
128 129 130 Class java.lang.NoSuchFieldError
131 132 133 Class java.lang.NoSuchFieldError
134 135 136 Class java.lang.NoSuchFieldError
137 138 139 Class java.lang.NoSuchFieldError
140 141 142 Class java.lang.NoSuchFieldError
143 144 145 Class java.lang.NoSuchFieldError
146 147 148 Class java.lang.NoSuchFieldError
149 150 151 Class java.lang.NoSuchFieldError
152 153 154 Class java.lang.NoSuchFieldError
155 156 157 Class java.lang.NoSuchFieldError
158 159 160 Class java.lang.NoSuchFieldError
161 162 163 Class java.lang.NoSuchFieldError
164 165 166 Class java.lang.NoSuchFieldError
167 168 169 Class java.lang.NoSuchFieldError
170 171 172 Class java.lang.NoSuchFieldError
173 174 175 Class java.lang.NoSuchFieldError
176 177 178 Class java.lang.NoSuchFieldError
179 180 181 Class java.lang.NoSuchFieldError
182 183 184 Class java.lang.NoSuchFieldError
185 186 187 Class java.lang.NoSuchFieldError
188 189 190 Class java.lang.NoSuchFieldError
191 192 193 Class java.lang.NoSuchFieldError
194 195 196 Class java.lang.NoSuchFieldError
197 198 199 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$java$lang$invoke$MethodHandleImpl$Intrinsic();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$MethodHandleImpl$Intrinsic:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic java.lang.invoke.MethodHandleImpl$Intrinsic.values:()[Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
arraylength
newarray 10
astore 0
2: aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.ARRAY_LENGTH:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
bipush 8
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.ARRAY_LOAD:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
bipush 6
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.ARRAY_STORE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
bipush 7
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.GUARD_WITH_CATCH:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.IDENTITY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
bipush 9
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.LOOP:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
iconst_4
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NEW_ARRAY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NONE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
bipush 11
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.SELECT_ALTERNATIVE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
iconst_1
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.TRY_FINALLY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.ZERO:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$MethodHandleImpl$Intrinsic:[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
32 33 34 Class java.lang.NoSuchFieldError
private static boolean lambda$0(java.lang.invoke.LambdaForm$BasicType);
descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
if_acmpeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 bt Ljava/lang/invoke/LambdaForm$BasicType;
private static java.lang.Class[] lambda$2(int);
descriptor: (I)[Ljava/lang/Class;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray java.lang.Class
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "InvokerBytecodeGenerator.java"
NestMembers:
java.lang.invoke.InvokerBytecodeGenerator$1 java.lang.invoke.InvokerBytecodeGenerator$BytecodeGenerationException java.lang.invoke.InvokerBytecodeGenerator$CpPatch
InnerClasses:
final SpeciesData = java.lang.invoke.BoundMethodHandle$SpeciesData of java.lang.invoke.BoundMethodHandle
final Holder = java.lang.invoke.DelegatingMethodHandle$Holder of java.lang.invoke.DelegatingMethodHandle
final Holder = java.lang.invoke.DirectMethodHandle$Holder of java.lang.invoke.DirectMethodHandle
java.lang.invoke.InvokerBytecodeGenerator$1
final BytecodeGenerationException = java.lang.invoke.InvokerBytecodeGenerator$BytecodeGenerationException of java.lang.invoke.InvokerBytecodeGenerator
CpPatch = java.lang.invoke.InvokerBytecodeGenerator$CpPatch of java.lang.invoke.InvokerBytecodeGenerator
final Holder = java.lang.invoke.Invokers$Holder of java.lang.invoke.Invokers
final BasicType = java.lang.invoke.LambdaForm$BasicType of java.lang.invoke.LambdaForm
final Holder = java.lang.invoke.LambdaForm$Holder of java.lang.invoke.LambdaForm
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
final Intrinsic = java.lang.invoke.MethodHandleImpl$Intrinsic of java.lang.invoke.MethodHandleImpl
LoopClauses = java.lang.invoke.MethodHandleImpl$LoopClauses of java.lang.invoke.MethodHandleImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles