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 MH_SIG;
    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 CLL_SIG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;"

  private static final java.lang.String superName;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, 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.String sourceFile;
    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 final int[] localsMap;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.invoke.LambdaForm$BasicType[] localTypes;
    descriptor: [Ljava/lang/invoke/LambdaForm$BasicType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<?>[] localClasses;
    descriptor: [Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    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 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

  java.util.Map<java.lang.Object, java.lang.invoke.InvokerBytecodeGenerator$CpPatch> cpPatches;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/lang/invoke/InvokerBytecodeGenerator$CpPatch;>;

  int cph;
    descriptor: I
    flags: (0x0000) 

  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$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: .line 49
            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: .line 88
            invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
            putstatic java.lang.invoke.InvokerBytecodeGenerator.MEMBERNAME_FACTORY:Ljava/lang/invoke/MemberName$Factory;
         4: .line 89
            ldc Ljava/lang/invoke/LambdaForm;
            putstatic java.lang.invoke.InvokerBytecodeGenerator.HOST_CLASS:Ljava/lang/Class;
         5: .line 149
            getstatic java.lang.invoke.MethodHandleStatics.DUMP_CLASS_FILES:Z
            ifeq 15
         6: .line 150
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_COUNTERS:Ljava/util/HashMap;
         7: .line 152
            new java.io.File
            dup
            ldc "DUMP_CLASS_FILES"
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 0 /* dumpDir */
        start local 0 // java.io.File dumpDir
         8: .line 153
            aload 0 /* dumpDir */
            invokevirtual java.io.File.exists:()Z
            ifne 10
         9: .line 154
            aload 0 /* dumpDir */
            invokevirtual java.io.File.mkdirs:()Z
            pop
        10: .line 156
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* dumpDir */
            putstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_DIR:Ljava/io/File;
        11: .line 157
            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 // java.io.File dumpDir
        12: .line 158
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Exception
        13: astore 0 /* e */
        start local 0 // java.lang.Exception e
        14: .line 159
            aload 0 /* e */
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Throwable;)Ljava/lang/InternalError;
            athrow
        end local 0 // java.lang.Exception e
        15: .line 162
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_COUNTERS:Ljava/util/HashMap;
        16: .line 163
            aconst_null
            putstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_DIR:Ljava/io/File;
        17: .line 775
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
        18: .line 777
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
        19: .line 778
            ldc Ljava/util/Arrays;
            aastore
            dup
            iconst_2
        20: .line 779
            ldc Lsun/misc/Unsafe;
            aastore
        21: .line 775
            putstatic java.lang.invoke.InvokerBytecodeGenerator.STATICALLY_INVOCABLE_PACKAGES:[Ljava/lang/Class;
        22: .line 781
            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=4, locals=7, args_size=6
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm lambdaForm
        start local 2 // int localsMapSize
        start local 3 // java.lang.String className
        start local 4 // java.lang.String invokerName
        start local 5 // java.lang.invoke.MethodType invokerType
         0: .line 92
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 219
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.invoke.InvokerBytecodeGenerator.cpPatches:Ljava/util/Map;
         2: .line 221
            aload 0 /* this */
            iconst_0
            putfield java.lang.invoke.InvokerBytecodeGenerator.cph:I
         3: .line 94
            aload 4 /* invokerName */
            ldc "."
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 7
         4: .line 95
            aload 4 /* invokerName */
            ldc "."
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 6 /* p */
        start local 6 // int p
         5: .line 96
            aload 4 /* invokerName */
            iconst_0
            iload 6 /* p */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* className */
         6: .line 97
            aload 4 /* invokerName */
            iload 6 /* p */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* invokerName */
        end local 6 // int p
         7: .line 99
      StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.invoke.LambdaForm int java.lang.String java.lang.String java.lang.invoke.MethodType
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleStatics.DUMP_CLASS_FILES:Z
            ifeq 9
         8: .line 100
            aload 3 /* className */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.makeDumpableClassName:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* className */
         9: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "java/lang/invoke/LambdaForm$"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield java.lang.invoke.InvokerBytecodeGenerator.className:Ljava/lang/String;
        10: .line 103
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "LambdaForm$"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield java.lang.invoke.InvokerBytecodeGenerator.sourceFile:Ljava/lang/String;
        11: .line 104
            aload 0 /* this */
            aload 1 /* lambdaForm */
            putfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
        12: .line 105
            aload 0 /* this */
            aload 4 /* invokerName */
            putfield java.lang.invoke.InvokerBytecodeGenerator.invokerName:Ljava/lang/String;
        13: .line 106
            aload 0 /* this */
            aload 5 /* invokerType */
            putfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
        14: .line 107
            aload 0 /* this */
            iload 2 /* localsMapSize */
            iconst_1
            iadd
            newarray 10
            putfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
        15: .line 109
            aload 0 /* this */
            iload 2 /* localsMapSize */
            iconst_1
            iadd
            anewarray java.lang.invoke.LambdaForm$BasicType
            putfield java.lang.invoke.InvokerBytecodeGenerator.localTypes:[Ljava/lang/invoke/LambdaForm$BasicType;
        16: .line 110
            aload 0 /* this */
            iload 2 /* localsMapSize */
            iconst_1
            iadd
            anewarray java.lang.Class
            putfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
        17: .line 111
            return
        end local 5 // java.lang.invoke.MethodType invokerType
        end local 4 // java.lang.String invokerName
        end local 3 // java.lang.String className
        end local 2 // int localsMapSize
        end local 1 // java.lang.invoke.LambdaForm lambdaForm
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0   18     1     lambdaForm  Ljava/lang/invoke/LambdaForm;
            0   18     2  localsMapSize  I
            0   18     3      className  Ljava/lang/String;
            0   18     4    invokerName  Ljava/lang/String;
            0   18     5    invokerType  Ljava/lang/invoke/MethodType;
            5    7     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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.String className
        start local 2 // java.lang.String invokerName
        start local 3 // java.lang.invoke.MethodType invokerType
         0: .line 115
            aload 0 /* this */
            aconst_null
            aload 3 /* invokerType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
         1: .line 116
            aload 1 /* className */
            aload 2 /* invokerName */
            aload 3 /* invokerType */
            invokespecial java.lang.invoke.InvokerBytecodeGenerator.<init>:(Ljava/lang/invoke/LambdaForm;ILjava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
         2: .line 118
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localTypes:[Ljava/lang/invoke/LambdaForm$BasicType;
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localTypes:[Ljava/lang/invoke/LambdaForm$BasicType;
            arraylength
            iconst_1
            isub
            getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            aastore
         3: .line 119
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 120
      StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.String java.lang.String java.lang.invoke.MethodType int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            iload 4 /* i */
            aload 3 /* invokerType */
            invokevirtual java.lang.invoke.MethodType.parameterSlotCount:()I
            aload 3 /* invokerType */
            iload 4 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterSlotDepth:(I)I
            isub
            iastore
         6: .line 121
            iload 4 /* i */
            aload 3 /* invokerType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            if_icmpge 8
         7: .line 122
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localTypes:[Ljava/lang/invoke/LambdaForm$BasicType;
            iload 4 /* i */
            aload 3 /* invokerType */
            iload 4 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            aastore
         8: .line 119
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            arraylength
            if_icmplt 5
        end local 4 // int i
        10: .line 124
            return
        end local 3 // java.lang.invoke.MethodType invokerType
        end local 2 // java.lang.String invokerName
        end local 1 // java.lang.String className
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0   11     1    className  Ljava/lang/String;
            0   11     2  invokerName  Ljava/lang/String;
            0   11     3  invokerType  Ljava/lang/invoke/MethodType;
            4   10     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=6, locals=8, args_size=4
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.String className
        start local 2 // java.lang.invoke.LambdaForm form
        start local 3 // java.lang.invoke.MethodType invokerType
         0: .line 128
            aload 0 /* this */
            aload 2 /* form */
            aload 2 /* form */
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            arraylength
         1: .line 129
            aload 1 /* className */
            aload 2 /* form */
            getfield java.lang.invoke.LambdaForm.debugName:Ljava/lang/String;
            aload 3 /* invokerType */
            invokespecial java.lang.invoke.InvokerBytecodeGenerator.<init>:(Ljava/lang/invoke/LambdaForm;ILjava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
         2: .line 131
            aload 2 /* form */
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            astore 4 /* names */
        start local 4 // java.lang.invoke.LambdaForm$Name[] names
         3: .line 132
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: iconst_0
            istore 6 /* index */
        start local 6 // int index
         5: goto 12
         6: .line 133
      StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.String java.lang.invoke.LambdaForm java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] int int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            iload 5 /* i */
            iload 6 /* index */
            iastore
         7: .line 134
            iload 5 /* i */
            aload 4 /* names */
            arraylength
            if_icmpge 11
         8: .line 135
            aload 4 /* names */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.invoke.LambdaForm$Name.type:()Ljava/lang/invoke/LambdaForm$BasicType;
            astore 7 /* type */
        start local 7 // java.lang.invoke.LambdaForm$BasicType type
         9: .line 136
            iload 6 /* index */
            aload 7 /* type */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeSlots:()I
            iadd
            istore 6 /* index */
        10: .line 137
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localTypes:[Ljava/lang/invoke/LambdaForm$BasicType;
            iload 5 /* i */
            aload 7 /* type */
            aastore
        end local 7 // java.lang.invoke.LambdaForm$BasicType type
        11: .line 132
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            arraylength
            if_icmplt 6
        end local 6 // int index
        end local 5 // int i
        13: .line 140
            return
        end local 4 // java.lang.invoke.LambdaForm$Name[] names
        end local 3 // java.lang.invoke.MethodType invokerType
        end local 2 // java.lang.invoke.LambdaForm form
        end local 1 // java.lang.String className
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0   14     1    className  Ljava/lang/String;
            0   14     2         form  Ljava/lang/invoke/LambdaForm;
            0   14     3  invokerType  Ljava/lang/invoke/MethodType;
            3   14     4        names  [Ljava/lang/invoke/LambdaForm$Name;
            4   13     5            i  I
            5   13     6        index  I
            9   11     7         type  Ljava/lang/invoke/LambdaForm$BasicType;
    MethodParameters:
             Name  Flags
      className    
      form         
      invokerType  

  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 // java.lang.String className
        start local 1 // byte[] classFile
         0: .line 168
            getstatic java.lang.invoke.MethodHandleStatics.DUMP_CLASS_FILES:Z
            ifeq 3
         1: .line 170
            new java.lang.invoke.InvokerBytecodeGenerator$1
            dup
            aload 0 /* className */
            aload 1 /* classFile */
            invokespecial java.lang.invoke.InvokerBytecodeGenerator$1.<init>:(Ljava/lang/String;[B)V
         2: .line 169
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         3: .line 189
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] classFile
        end local 0 // java.lang.String className
      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 // java.lang.String className
         0: .line 193
            getstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_COUNTERS:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         1: .line 194
            getstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_COUNTERS:Ljava/util/HashMap;
            aload 0 /* className */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 1 /* ctr */
        start local 1 // java.lang.Integer ctr
         2: .line 195
            aload 1 /* ctr */
            ifnonnull 3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 1 /* ctr */
         3: .line 196
      StackMap locals: java.lang.Integer java.util.HashMap
      StackMap stack:
            getstatic java.lang.invoke.InvokerBytecodeGenerator.DUMP_CLASS_FILES_COUNTERS:Ljava/util/HashMap;
            aload 0 /* className */
            aload 1 /* ctr */
            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: .line 193
            aload 2
            monitorexit
         5: goto 8
        end local 1 // java.lang.Integer ctr
      StackMap locals: java.lang.String top java.util.HashMap
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
        start local 1 // java.lang.Integer ctr
         8: .line 198
      StackMap locals: java.lang.String java.lang.Integer
      StackMap stack:
            aload 1 /* ctr */
            invokevirtual java.lang.Integer.toString:()Ljava/lang/String;
            astore 2 /* sfx */
        start local 2 // java.lang.String sfx
         9: .line 199
            goto 11
        10: .line 200
      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 /* sfx */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* sfx */
        11: .line 199
      StackMap locals:
      StackMap stack:
            aload 2 /* sfx */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmplt 10
        12: .line 201
            new java.lang.StringBuilder
            dup
            aload 0 /* className */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* sfx */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* className */
        13: .line 202
            aload 0 /* className */
            areturn
        end local 2 // java.lang.String sfx
        end local 1 // java.lang.Integer ctr
        end local 0 // java.lang.String className
      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=8, locals=4, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.Object arg
         0: .line 224
            new java.lang.StringBuilder
            dup
            ldc "CONSTANT_PLACEHOLDER_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            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 /* cpPlaceholder */
        start local 2 // java.lang.String cpPlaceholder
         1: .line 225
            getstatic java.lang.invoke.MethodHandleStatics.DUMP_CLASS_FILES:Z
            ifeq 2
            new java.lang.StringBuilder
            dup
            aload 2 /* cpPlaceholder */
            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 /* arg */
            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 /* cpPlaceholder */
         2: .line 226
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.cpPatches:Ljava/util/Map;
            aload 2 /* cpPlaceholder */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 227
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "observed CP placeholder twice: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* cpPlaceholder */
            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
         4: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
            aload 2 /* cpPlaceholder */
            invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.newConst:(Ljava/lang/Object;)I
            istore 3 /* index */
        start local 3 // int index
         5: .line 231
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.cpPatches:Ljava/util/Map;
            aload 2 /* cpPlaceholder */
            new java.lang.invoke.InvokerBytecodeGenerator$CpPatch
            dup
            aload 0 /* this */
            iload 3 /* index */
            aload 2 /* cpPlaceholder */
            aload 1 /* arg */
            invokespecial java.lang.invoke.InvokerBytecodeGenerator$CpPatch.<init>:(Ljava/lang/invoke/InvokerBytecodeGenerator;ILjava/lang/String;Ljava/lang/Object;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 232
            aload 2 /* cpPlaceholder */
            areturn
        end local 3 // int index
        end local 2 // java.lang.String cpPlaceholder
        end local 1 // java.lang.Object arg
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0    7     1            arg  Ljava/lang/Object;
            1    7     2  cpPlaceholder  Ljava/lang/String;
            5    7     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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // byte[] classFile
         0: .line 236
            aload 1 /* classFile */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.getConstantPoolSize:([B)I
            istore 2 /* size */
        start local 2 // int size
         1: .line 237
            iload 2 /* size */
            anewarray java.lang.Object
            astore 3 /* res */
        start local 3 // java.lang.Object[] res
         2: .line 238
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.cpPatches:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.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 /* p */
        start local 4 // java.lang.invoke.InvokerBytecodeGenerator$CpPatch p
         4: .line 239
            aload 4 /* p */
            getfield java.lang.invoke.InvokerBytecodeGenerator$CpPatch.index:I
            iload 2 /* size */
            if_icmplt 6
         5: .line 240
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "in cpool["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* size */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* p */
            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 /* classFile */
            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: .line 241
      StackMap locals: java.lang.invoke.InvokerBytecodeGenerator byte[] int java.lang.Object[] java.lang.invoke.InvokerBytecodeGenerator$CpPatch java.util.Iterator
      StackMap stack:
            aload 3 /* res */
            aload 4 /* p */
            getfield java.lang.invoke.InvokerBytecodeGenerator$CpPatch.index:I
            aload 4 /* p */
            getfield java.lang.invoke.InvokerBytecodeGenerator$CpPatch.value:Ljava/lang/Object;
            aastore
        end local 4 // java.lang.invoke.InvokerBytecodeGenerator$CpPatch p
         7: .line 238
      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: .line 243
            aload 3 /* res */
            areturn
        end local 3 // java.lang.Object[] res
        end local 2 // int size
        end local 1 // byte[] classFile
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.Object arg
         0: .line 247
            aload 0 /* arg */
            instanceof java.lang.invoke.MethodHandle
            ifeq 6
         1: .line 248
            aload 0 /* arg */
            checkcast java.lang.invoke.MethodHandle
            astore 1 /* mh */
        start local 1 // java.lang.invoke.MethodHandle mh
         2: .line 249
            aload 1 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
            astore 2 /* member */
        start local 2 // java.lang.invoke.MemberName member
         3: .line 250
            aload 2 /* member */
            ifnull 5
         4: .line 251
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
            areturn
         5: .line 252
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MemberName
      StackMap stack:
            aload 1 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.debugString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.invoke.MemberName member
        end local 1 // java.lang.invoke.MethodHandle mh
         6: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* arg */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object arg
      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 // byte[] classFile
         0: .line 269
            aload 0 /* classFile */
            bipush 8
            baload
            sipush 255
            iand
            bipush 8
            ishl
            aload 0 /* classFile */
            bipush 9
            baload
            sipush 255
            iand
            ior
            ireturn
        end local 0 // byte[] classFile
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // byte[] classFile
         0: .line 276
            aload 1 /* classFile */
            aload 0 /* this */
            aload 1 /* classFile */
            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 /* invokerClass */
        start local 2 // java.lang.Class invokerClass
         1: .line 277
            aload 2 /* invokerClass */
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.invokerName:Ljava/lang/String;
            aload 0 /* this */
            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 // java.lang.Class invokerClass
        end local 1 // byte[] classFile
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // byte[] classBytes
        start local 1 // java.lang.Object[] patches
         0: .line 284
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
            getstatic java.lang.invoke.InvokerBytecodeGenerator.HOST_CLASS:Ljava/lang/Class;
            aload 0 /* classBytes */
            aload 1 /* patches */
            invokevirtual sun.misc.Unsafe.defineAnonymousClass:(Ljava/lang/Class;[B[Ljava/lang/Object;)Ljava/lang/Class;
            astore 2 /* invokerClass */
        start local 2 // java.lang.Class invokerClass
         1: .line 285
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
            aload 2 /* invokerClass */
            invokevirtual sun.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
         2: .line 286
            aload 2 /* invokerClass */
            areturn
        end local 2 // java.lang.Class invokerClass
        end local 1 // java.lang.Object[] patches
        end local 0 // byte[] classBytes
      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 // java.lang.Class invokerClass
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodType type
         0: .line 290
            new java.lang.invoke.MemberName
            dup
            aload 0 /* invokerClass */
            aload 1 /* name */
            aload 2 /* type */
            bipush 6
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
            astore 3 /* member */
        start local 3 // java.lang.invoke.MemberName member
         1: .line 294
            getstatic java.lang.invoke.InvokerBytecodeGenerator.MEMBERNAME_FACTORY:Ljava/lang/invoke/MemberName$Factory;
            bipush 6
            aload 3 /* member */
            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 /* member */
         2: .line 295
            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 /* e */
        start local 4 // java.lang.ReflectiveOperationException e
         4: .line 296
            aload 4 /* e */
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Throwable;)Ljava/lang/InternalError;
            athrow
        end local 4 // java.lang.ReflectiveOperationException e
         5: .line 299
      StackMap locals:
      StackMap stack:
            aload 3 /* member */
            areturn
        end local 3 // java.lang.invoke.MemberName member
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class invokerClass
      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 void classFilePrologue();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
         0: .line 307
            aload 0 /* this */
            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: .line 308
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
            bipush 52
            bipush 48
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.className:Ljava/lang/String;
            aconst_null
            ldc "java/lang/Object"
            aconst_null
            invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
         2: .line 309
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.sourceFile:Ljava/lang/String;
            aconst_null
            invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitSource:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 311
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
            astore 1 /* invokerDesc */
        start local 1 // java.lang.String invokerDesc
         4: .line 312
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
            bipush 8
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.invokerName:Ljava/lang/String;
            aload 1 /* invokerDesc */
            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;
         5: .line 313
            return
        end local 1 // java.lang.String invokerDesc
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            4    6     1  invokerDesc  Ljava/lang/String;

  private void classFileEpilogue();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
         0: .line 319
            aload 0 /* this */
            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: .line 320
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
         2: .line 321
            return
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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=4, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.Object con
         0: .line 327
            aload 1 /* con */
            ifnonnull 3
         1: .line 328
            aload 0 /* this */
            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: .line 329
            return
         3: .line 331
      StackMap locals:
      StackMap stack:
            aload 1 /* con */
            instanceof java.lang.Integer
            ifeq 6
         4: .line 332
            aload 0 /* this */
            aload 1 /* con */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
         5: .line 333
            return
         6: .line 335
      StackMap locals:
      StackMap stack:
            aload 1 /* con */
            instanceof java.lang.Long
            ifeq 12
         7: .line 336
            aload 1 /* con */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 2 /* x */
        start local 2 // long x
         8: .line 337
            lload 2 /* x */
            lload 2 /* x */
            l2i
            i2s
            i2l
            lcmp
            ifne 12
         9: .line 338
            aload 0 /* this */
            lload 2 /* x */
            l2i
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
        10: .line 339
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 133
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        11: .line 340
            return
        end local 2 // long x
        12: .line 343
      StackMap locals:
      StackMap stack:
            aload 1 /* con */
            instanceof java.lang.Float
            ifeq 18
        13: .line 344
            aload 1 /* con */
            checkcast java.lang.Float
            invokevirtual java.lang.Float.floatValue:()F
            fstore 2 /* x */
        start local 2 // float x
        14: .line 345
            fload 2 /* x */
            fload 2 /* x */
            f2i
            i2s
            i2f
            fcmpl
            ifne 18
        15: .line 346
            aload 0 /* this */
            fload 2 /* x */
            f2i
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
        16: .line 347
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 134
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        17: .line 348
            return
        end local 2 // float x
        18: .line 351
      StackMap locals:
      StackMap stack:
            aload 1 /* con */
            instanceof java.lang.Double
            ifeq 24
        19: .line 352
            aload 1 /* con */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dstore 2 /* x */
        start local 2 // double x
        20: .line 353
            dload 2 /* x */
            dload 2 /* x */
            d2i
            i2s
            i2d
            dcmpl
            ifne 24
        21: .line 354
            aload 0 /* this */
            dload 2 /* x */
            d2i
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
        22: .line 355
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 135
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        23: .line 356
            return
        end local 2 // double x
        24: .line 359
      StackMap locals:
      StackMap stack:
            aload 1 /* con */
            instanceof java.lang.Boolean
            ifeq 29
        25: .line 360
            aload 0 /* this */
            aload 1 /* con */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 26
            iconst_1
            goto 27
      StackMap locals:
      StackMap stack: java.lang.invoke.InvokerBytecodeGenerator
        26: iconst_0
      StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.Object
      StackMap stack: java.lang.invoke.InvokerBytecodeGenerator int
        27: invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
        28: .line 361
            return
        29: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 1 /* con */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
        30: .line 365
            return
        end local 1 // java.lang.Object con
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   31     0  this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0   31     1   con  Ljava/lang/Object;
            8   12     2     x  J
           14   18     2     x  F
           20   24     2     x  D
    MethodParameters:
      Name  Flags
      con   

  private void emitIconstInsn(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // int i
         0: .line 369
            iload 1 /* i */
            tableswitch { // 0 - 5
                    0: 1
                    1: 3
                    2: 5
                    3: 7
                    4: 9
                    5: 11
              default: 13
          }
         1: .line 370
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 2 /* opcode */
        start local 2 // int opcode
         2: goto 21
        end local 2 // int opcode
         3: .line 371
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 2 /* opcode */
        start local 2 // int opcode
         4: goto 21
        end local 2 // int opcode
         5: .line 372
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 2 /* opcode */
        start local 2 // int opcode
         6: goto 21
        end local 2 // int opcode
         7: .line 373
      StackMap locals:
      StackMap stack:
            bipush 6
            istore 2 /* opcode */
        start local 2 // int opcode
         8: goto 21
        end local 2 // int opcode
         9: .line 374
      StackMap locals:
      StackMap stack:
            bipush 7
            istore 2 /* opcode */
        start local 2 // int opcode
        10: goto 21
        end local 2 // int opcode
        11: .line 375
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 2 /* opcode */
        start local 2 // int opcode
        12: goto 21
        end local 2 // int opcode
        13: .line 377
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            iload 1 /* i */
            i2b
            if_icmpne 16
        14: .line 378
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            bipush 16
            iload 1 /* i */
            sipush 255
            iand
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
        15: .line 379
            goto 20
      StackMap locals:
      StackMap stack:
        16: iload 1 /* i */
            iload 1 /* i */
            i2s
            if_icmpne 19
        17: .line 380
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            bipush 17
            iload 1 /* i */
            i2c
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
        18: .line 381
            goto 20
        19: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            iload 1 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
        20: .line 384
      StackMap locals:
      StackMap stack:
            return
        start local 2 // int opcode
        21: .line 386
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            iload 2 /* opcode */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        22: .line 387
            return
        end local 2 // int opcode
        end local 1 // int i
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0   23     1       i  I
            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
           21   23     2  opcode  I
    MethodParameters:
      Name  Flags
      i     

  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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$BasicType type
        start local 2 // int index
         0: .line 393
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.loadInsnOpcode:(Ljava/lang/invoke/LambdaForm$BasicType;)I
            istore 3 /* opcode */
        start local 3 // int opcode
         1: .line 394
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            iload 3 /* opcode */
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            iload 2 /* index */
            iaload
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
         2: .line 395
            return
        end local 3 // int opcode
        end local 2 // int index
        end local 1 // java.lang.invoke.LambdaForm$BasicType type
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$BasicType type
         0: .line 398
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
            aload 1 /* type */
            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: .line 399
      StackMap locals:
      StackMap stack:
            bipush 21
            ireturn
         2: .line 400
      StackMap locals:
      StackMap stack:
            bipush 22
            ireturn
         3: .line 401
      StackMap locals:
      StackMap stack:
            bipush 23
            ireturn
         4: .line 402
      StackMap locals:
      StackMap stack:
            bipush 24
            ireturn
         5: .line 403
      StackMap locals:
      StackMap stack:
            bipush 25
            ireturn
         6: .line 405
      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 /* type */
            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 // java.lang.invoke.LambdaForm$BasicType type
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // int index
         0: .line 409
            aload 0 /* this */
            getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            iload 1 /* index */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoadInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
         1: .line 410
            return
        end local 1 // int index
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$BasicType type
        start local 2 // int index
         0: .line 413
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.storeInsnOpcode:(Ljava/lang/invoke/LambdaForm$BasicType;)I
            istore 3 /* opcode */
        start local 3 // int opcode
         1: .line 414
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            iload 3 /* opcode */
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            iload 2 /* index */
            iaload
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
         2: .line 415
            return
        end local 3 // int opcode
        end local 2 // int index
        end local 1 // java.lang.invoke.LambdaForm$BasicType type
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$BasicType type
         0: .line 418
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
            aload 1 /* type */
            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: .line 419
      StackMap locals:
      StackMap stack:
            bipush 54
            ireturn
         2: .line 420
      StackMap locals:
      StackMap stack:
            bipush 55
            ireturn
         3: .line 421
      StackMap locals:
      StackMap stack:
            bipush 56
            ireturn
         4: .line 422
      StackMap locals:
      StackMap stack:
            bipush 57
            ireturn
         5: .line 423
      StackMap locals:
      StackMap stack:
            bipush 58
            ireturn
         6: .line 425
      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 /* type */
            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 // java.lang.invoke.LambdaForm$BasicType type
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // int index
         0: .line 429
            aload 0 /* this */
            getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            iload 1 /* index */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStoreInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
         1: .line 430
            return
        end local 1 // int index
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // sun.invoke.util.Wrapper elementType
         0: .line 433
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
            aload 1 /* elementType */
            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: .line 434
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
         2: .line 435
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         3: .line 436
      StackMap locals:
      StackMap stack:
            iconst_5
            ireturn
         4: .line 437
      StackMap locals:
      StackMap stack:
            bipush 9
            ireturn
         5: .line 438
      StackMap locals:
      StackMap stack:
            bipush 10
            ireturn
         6: .line 439
      StackMap locals:
      StackMap stack:
            bipush 11
            ireturn
         7: .line 440
      StackMap locals:
      StackMap stack:
            bipush 6
            ireturn
         8: .line 441
      StackMap locals:
      StackMap stack:
            bipush 7
            ireturn
         9: .line 442
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        10: .line 443
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        end local 1 // sun.invoke.util.Wrapper elementType
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // byte tcode
        start local 2 // int aaop
         0: .line 448
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 1
            iload 2 /* aaop */
            bipush 83
            if_icmpeq 1
            iload 2 /* aaop */
            bipush 50
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 450
      StackMap locals:
      StackMap stack:
            iload 1 /* tcode */
            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: .line 451
      StackMap locals:
      StackMap stack:
            bipush 84
            istore 3 /* xas */
        start local 3 // int xas
         3: goto 21
        end local 3 // int xas
         4: .line 452
      StackMap locals:
      StackMap stack:
            bipush 84
            istore 3 /* xas */
        start local 3 // int xas
         5: goto 21
        end local 3 // int xas
         6: .line 453
      StackMap locals:
      StackMap stack:
            bipush 85
            istore 3 /* xas */
        start local 3 // int xas
         7: goto 21
        end local 3 // int xas
         8: .line 454
      StackMap locals:
      StackMap stack:
            bipush 86
            istore 3 /* xas */
        start local 3 // int xas
         9: goto 21
        end local 3 // int xas
        10: .line 455
      StackMap locals:
      StackMap stack:
            bipush 79
            istore 3 /* xas */
        start local 3 // int xas
        11: goto 21
        end local 3 // int xas
        12: .line 456
      StackMap locals:
      StackMap stack:
            bipush 80
            istore 3 /* xas */
        start local 3 // int xas
        13: goto 21
        end local 3 // int xas
        14: .line 457
      StackMap locals:
      StackMap stack:
            bipush 81
            istore 3 /* xas */
        start local 3 // int xas
        15: goto 21
        end local 3 // int xas
        16: .line 458
      StackMap locals:
      StackMap stack:
            bipush 82
            istore 3 /* xas */
        start local 3 // int xas
        17: goto 21
        end local 3 // int xas
        18: .line 459
      StackMap locals:
      StackMap stack:
            bipush 83
            istore 3 /* xas */
        start local 3 // int xas
        19: goto 21
        end local 3 // int xas
        20: .line 460
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        start local 3 // int xas
        21: .line 462
      StackMap locals: int
      StackMap stack:
            iload 3 /* xas */
            bipush 83
            isub
            iload 2 /* aaop */
            iadd
            ireturn
        end local 3 // int xas
        end local 2 // int aaop
        end local 1 // byte tcode
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 freeFrameLocal(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // int oldFrameLocal
         0: .line 467
            aload 0 /* this */
            iload 1 /* oldFrameLocal */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.indexForFrameLocal:(I)I
            istore 2 /* i */
        start local 2 // int i
         1: .line 468
            iload 2 /* i */
            ifge 2
            return
         2: .line 469
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localTypes:[Ljava/lang/invoke/LambdaForm$BasicType;
            iload 2 /* i */
            aaload
            astore 3 /* type */
        start local 3 // java.lang.invoke.LambdaForm$BasicType type
         3: .line 470
            aload 0 /* this */
            aload 3 /* type */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.makeLocalTemp:(Ljava/lang/invoke/LambdaForm$BasicType;)I
            istore 4 /* newFrameLocal */
        start local 4 // int newFrameLocal
         4: .line 471
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            aload 3 /* type */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.loadInsnOpcode:(Ljava/lang/invoke/LambdaForm$BasicType;)I
            iload 1 /* oldFrameLocal */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
         5: .line 472
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            aload 3 /* type */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.storeInsnOpcode:(Ljava/lang/invoke/LambdaForm$BasicType;)I
            iload 4 /* newFrameLocal */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
         6: .line 473
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            iload 2 /* i */
            iaload
            iload 1 /* oldFrameLocal */
            if_icmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 474
      StackMap locals: java.lang.invoke.LambdaForm$BasicType int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            iload 2 /* i */
            iload 4 /* newFrameLocal */
            iastore
         8: .line 475
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            iload 1 /* oldFrameLocal */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.indexForFrameLocal:(I)I
            iflt 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 476
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int newFrameLocal
        end local 3 // java.lang.invoke.LambdaForm$BasicType type
        end local 2 // int i
        end local 1 // int oldFrameLocal
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0   10     1  oldFrameLocal  I
            1   10     2              i  I
            3   10     3           type  Ljava/lang/invoke/LambdaForm$BasicType;
            4   10     4  newFrameLocal  I
    MethodParameters:
               Name  Flags
      oldFrameLocal  

  private int indexForFrameLocal(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // int frameLocal
         0: .line 478
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 479
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            iload 2 /* i */
            iaload
            iload 1 /* frameLocal */
            if_icmpne 4
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localTypes:[Ljava/lang/invoke/LambdaForm$BasicType;
            iload 2 /* i */
            aaload
            getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            if_acmpeq 4
         3: .line 480
            iload 2 /* i */
            ireturn
         4: .line 478
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 482
            iconst_m1
            ireturn
        end local 1 // int frameLocal
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0    7     1  frameLocal  I
            1    6     2           i  I
    MethodParameters:
            Name  Flags
      frameLocal  

  private int makeLocalTemp(java.lang.invoke.LambdaForm$BasicType);
    descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$BasicType type
         0: .line 485
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            arraylength
            iconst_1
            isub
            iaload
            istore 2 /* frameLocal */
        start local 2 // int frameLocal
         1: .line 486
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            arraylength
            iconst_1
            isub
            iload 2 /* frameLocal */
            aload 1 /* type */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeSlots:()I
            iadd
            iastore
         2: .line 487
            iload 2 /* frameLocal */
            ireturn
        end local 2 // int frameLocal
        end local 1 // java.lang.invoke.LambdaForm$BasicType type
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0    3     1        type  Ljava/lang/invoke/LambdaForm$BasicType;
            1    3     2  frameLocal  I
    MethodParameters:
      Name  Flags
      type  

  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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // sun.invoke.util.Wrapper wrapper
         0: .line 496
            new java.lang.StringBuilder
            dup
            ldc "java/lang/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* wrapper */
            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 /* owner */
        start local 2 // java.lang.String owner
         1: .line 497
            ldc "valueOf"
            astore 3 /* name */
        start local 3 // java.lang.String name
         2: .line 498
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* wrapper */
            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 /* owner */
            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 /* desc */
        start local 4 // java.lang.String desc
         3: .line 499
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 184
            aload 2 /* owner */
            aload 3 /* name */
            aload 4 /* desc */
            iconst_0
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         4: .line 500
            return
        end local 4 // java.lang.String desc
        end local 3 // java.lang.String name
        end local 2 // java.lang.String owner
        end local 1 // sun.invoke.util.Wrapper wrapper
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // sun.invoke.util.Wrapper wrapper
         0: .line 508
            new java.lang.StringBuilder
            dup
            ldc "java/lang/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* wrapper */
            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 /* owner */
        start local 2 // java.lang.String owner
         1: .line 509
            new java.lang.StringBuilder
            dup
            aload 1 /* wrapper */
            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 /* name */
        start local 3 // java.lang.String name
         2: .line 510
            new java.lang.StringBuilder
            dup
            ldc "()"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* wrapper */
            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 /* desc */
        start local 4 // java.lang.String desc
         3: .line 511
            aload 0 /* this */
            aload 1 /* wrapper */
            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: .line 512
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 182
            aload 2 /* owner */
            aload 3 /* name */
            aload 4 /* desc */
            iconst_0
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         5: .line 513
            return
        end local 4 // java.lang.String desc
        end local 3 // java.lang.String name
        end local 2 // java.lang.String owner
        end local 1 // sun.invoke.util.Wrapper wrapper
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$BasicType ptype
        start local 2 // java.lang.Class pclass
        start local 3 // java.lang.Object arg
         0: .line 524
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 1
            aload 2 /* pclass */
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            aload 1 /* ptype */
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 525
      StackMap locals:
      StackMap stack:
            aload 2 /* pclass */
            aload 1 /* ptype */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
            if_acmpne 3
            aload 1 /* ptype */
            getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            if_acmpeq 3
         2: .line 526
            return
         3: .line 527
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
            aload 1 /* ptype */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 4
                    2: 10
              default: 13
          }
         4: .line 529
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Object;
            aload 2 /* pclass */
            iconst_0
            invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
            ifeq 8
         5: .line 530
            getstatic java.lang.invoke.MethodHandleStatics.PROFILE_LEVEL:I
            ifle 7
         6: .line 531
            aload 0 /* this */
            ldc Ljava/lang/Object;
            aload 3 /* arg */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReferenceCast:(Ljava/lang/Class;Ljava/lang/Object;)V
         7: .line 532
      StackMap locals:
      StackMap stack:
            return
         8: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* pclass */
            aload 3 /* arg */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReferenceCast:(Ljava/lang/Class;Ljava/lang/Object;)V
         9: .line 535
            return
        10: .line 537
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aload 2 /* pclass */
            iconst_0
            invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
            ifne 12
        11: .line 538
            aload 0 /* this */
            aload 1 /* ptype */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeWrapper:()Lsun/invoke/util/Wrapper;
            aload 2 /* pclass */
            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: .line 539
      StackMap locals:
      StackMap stack:
            return
        13: .line 541
      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 /* ptype */
            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 /* pclass */
            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 // java.lang.Object arg
        end local 2 // java.lang.Class pclass
        end local 1 // java.lang.invoke.LambdaForm$BasicType ptype
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.Class cls
        start local 2 // java.lang.invoke.LambdaForm$Name n
         0: .line 546
            aload 2 /* n */
            invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
            istore 3 /* local */
        start local 3 // int local
         1: .line 547
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
            iload 3 /* local */
            aaload
            astore 4 /* aclass */
        start local 4 // java.lang.Class aclass
         2: .line 548
            aload 4 /* aclass */
            ifnull 4
            aload 4 /* aclass */
            aload 1 /* cls */
            if_acmpeq 3
            aload 1 /* cls */
            aload 4 /* aclass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 4
         3: .line 549
      StackMap locals: int java.lang.Class
      StackMap stack:
            iconst_1
            ireturn
         4: .line 550
      StackMap locals:
      StackMap stack:
            aload 4 /* aclass */
            ifnull 5
            aload 4 /* aclass */
            aload 1 /* cls */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 6
         5: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
            iload 3 /* local */
            aload 1 /* cls */
            aastore
         6: .line 553
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // java.lang.Class aclass
        end local 3 // int local
        end local 2 // java.lang.invoke.LambdaForm$Name n
        end local 1 // java.lang.Class cls
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.Class cls
        start local 2 // java.lang.Object arg
         0: .line 557
            aconst_null
            astore 3 /* writeBack */
        start local 3 // java.lang.invoke.LambdaForm$Name writeBack
         1: .line 558
            aload 2 /* arg */
            instanceof java.lang.invoke.LambdaForm$Name
            ifeq 7
         2: .line 559
            aload 2 /* arg */
            checkcast java.lang.invoke.LambdaForm$Name
            astore 4 /* n */
        start local 4 // java.lang.invoke.LambdaForm$Name n
         3: .line 560
            aload 0 /* this */
            aload 1 /* cls */
            aload 4 /* n */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.assertStaticType:(Ljava/lang/Class;Ljava/lang/invoke/LambdaForm$Name;)Z
            ifeq 5
         4: .line 561
            return
         5: .line 562
      StackMap locals: java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            aload 4 /* n */
            invokevirtual java.lang.invoke.LambdaForm.useCount:(Ljava/lang/invoke/LambdaForm$Name;)I
            iconst_1
            if_icmple 7
         6: .line 564
            aload 4 /* n */
            astore 3 /* writeBack */
        end local 4 // java.lang.invoke.LambdaForm$Name n
         7: .line 567
      StackMap locals:
      StackMap stack:
            aload 1 /* cls */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyNameable:(Ljava/lang/Class;)Z
            ifeq 11
         8: .line 568
            aload 1 /* cls */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
            astore 4 /* sig */
        start local 4 // java.lang.String sig
         9: .line 569
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 192
            aload 4 /* sig */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        end local 4 // java.lang.String sig
        10: .line 570
            goto 19
        11: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            aload 1 /* cls */
            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: .line 572
            aload 0 /* this */
            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: .line 573
            aload 0 /* this */
            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: .line 574
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 184
            ldc "java/lang/invoke/MethodHandleImpl"
            ldc "castReference"
            ldc "(Ljava/lang/Class;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: .line 575
            ldc [Ljava/lang/Object;
            aload 1 /* cls */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 17
        16: .line 576
            aload 0 /* this */
            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: .line 577
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleStatics.PROFILE_LEVEL:I
            ifle 19
        18: .line 578
            aload 0 /* this */
            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: .line 580
      StackMap locals:
      StackMap stack:
            aload 3 /* writeBack */
            ifnull 22
        20: .line 581
            aload 0 /* this */
            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: .line 582
            aload 0 /* this */
            aload 3 /* writeBack */
            invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAstoreInsn:(I)V
        22: .line 584
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.invoke.LambdaForm$Name writeBack
        end local 2 // java.lang.Object arg
        end local 1 // java.lang.Class cls
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$BasicType type
         0: .line 591
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
            aload 1 /* type */
            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: .line 592
      StackMap locals:
      StackMap stack:
            sipush 172
            istore 2 /* opcode */
        start local 2 // int opcode
         2: goto 14
        end local 2 // int opcode
         3: .line 593
      StackMap locals:
      StackMap stack:
            sipush 173
            istore 2 /* opcode */
        start local 2 // int opcode
         4: goto 14
        end local 2 // int opcode
         5: .line 594
      StackMap locals:
      StackMap stack:
            sipush 174
            istore 2 /* opcode */
        start local 2 // int opcode
         6: goto 14
        end local 2 // int opcode
         7: .line 595
      StackMap locals:
      StackMap stack:
            sipush 175
            istore 2 /* opcode */
        start local 2 // int opcode
         8: goto 14
        end local 2 // int opcode
         9: .line 596
      StackMap locals:
      StackMap stack:
            sipush 176
            istore 2 /* opcode */
        start local 2 // int opcode
        10: goto 14
        end local 2 // int opcode
        11: .line 597
      StackMap locals:
      StackMap stack:
            sipush 177
            istore 2 /* opcode */
        start local 2 // int opcode
        12: goto 14
        end local 2 // int opcode
        13: .line 599
      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 /* type */
            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 // int opcode
        14: .line 601
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            iload 2 /* opcode */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        15: .line 602
            return
        end local 2 // int opcode
        end local 1 // java.lang.invoke.LambdaForm$BasicType type
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 static java.lang.String getInternalName(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class c
         0: .line 605
            aload 0 /* c */
            ldc Ljava/lang/Object;
            if_acmpne 1
            ldc "java/lang/Object"
            areturn
         1: .line 606
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            ldc [Ljava/lang/Object;
            if_acmpne 2
            ldc "[Ljava/lang/Object;"
            areturn
         2: .line 607
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            ldc Ljava/lang/Class;
            if_acmpne 3
            ldc "java/lang/Class"
            areturn
         3: .line 608
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            ldc Ljava/lang/invoke/MethodHandle;
            if_acmpne 4
            ldc "java/lang/invoke/MethodHandle"
            areturn
         4: .line 609
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 5
            aload 0 /* c */
            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 0 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 610
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      c     

  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=3, args_size=2
        start local 0 // java.lang.invoke.LambdaForm form
        start local 1 // java.lang.invoke.MethodType invokerType
         0: .line 617
            new java.lang.invoke.InvokerBytecodeGenerator
            dup
            ldc "MH"
            aload 0 /* form */
            aload 1 /* invokerType */
            invokespecial java.lang.invoke.InvokerBytecodeGenerator.<init>:(Ljava/lang/String;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)V
            astore 2 /* g */
        start local 2 // java.lang.invoke.InvokerBytecodeGenerator g
         1: .line 618
            aload 2 /* g */
            aload 2 /* g */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.generateCustomizedCodeBytes:()[B
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.loadMethod:([B)Ljava/lang/invoke/MemberName;
            areturn
        end local 2 // java.lang.invoke.InvokerBytecodeGenerator g
        end local 1 // java.lang.invoke.MethodType invokerType
        end local 0 // java.lang.invoke.LambdaForm form
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         form  Ljava/lang/invoke/LambdaForm;
            0    2     1  invokerType  Ljava/lang/invoke/MethodType;
            1    2     2            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 // java.lang.invoke.InvokerBytecodeGenerator this
         0: .line 624
            aload 0 /* this */
            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: .line 625
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            bipush 25
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            iconst_0
            iaload
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
         2: .line 626
            aload 0 /* this */
            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: .line 627
            iconst_1
            ireturn
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/invoke/InvokerBytecodeGenerator;

  private byte[] generateCustomizedCodeBytes();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
         0: .line 634
            aload 0 /* this */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.classFilePrologue:()V
         1: .line 637
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            ldc "Ljava/lang/invoke/LambdaForm$Hidden;"
            iconst_1
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
            pop
         2: .line 640
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            ldc "Ljava/lang/invoke/LambdaForm$Compiled;"
            iconst_1
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
            pop
         3: .line 642
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.forceInline:Z
            ifeq 6
         4: .line 644
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            ldc "Ljava/lang/invoke/ForceInline;"
            iconst_1
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
            pop
         5: .line 645
            goto 7
         6: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            ldc "Ljava/lang/invoke/DontInline;"
            iconst_1
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
            pop
         7: .line 649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.customized:Ljava/lang/invoke/MethodHandle;
            ifnull 12
         8: .line 654
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            aload 0 /* this */
            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
         9: .line 655
            aload 0 /* this */
            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
        10: .line 656
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 11
            aload 0 /* this */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.checkActualReceiver:()Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            bipush 58
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localsMap:[I
            iconst_0
            iaload
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
        12: .line 662
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* onStack */
        start local 1 // java.lang.invoke.LambdaForm$Name onStack
        13: .line 663
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            istore 2 /* i */
        start local 2 // int i
        14: goto 55
        15: .line 664
      StackMap locals: java.lang.invoke.LambdaForm$Name int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 2 /* i */
            aaload
            astore 3 /* name */
        start local 3 // java.lang.invoke.LambdaForm$Name name
        16: .line 666
            aload 0 /* this */
            aload 1 /* onStack */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStoreResult:(Ljava/lang/invoke/LambdaForm$Name;)V
        17: .line 667
            aload 3 /* name */
            astore 1 /* onStack */
        18: .line 668
            aload 3 /* name */
            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 /* intr */
        start local 4 // java.lang.invoke.MethodHandleImpl$Intrinsic intr
        19: .line 669
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$java$lang$invoke$MethodHandleImpl$Intrinsic:()[I
            aload 4 /* intr */
            invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 20
                    2: 29
                    3: 33
                    4: 37
                    5: 39
                    6: 41
                    7: 44
                    8: 47
              default: 48
          }
        20: .line 671
      StackMap locals: java.lang.invoke.LambdaForm$Name java.lang.invoke.MethodHandleImpl$Intrinsic
      StackMap stack:
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 21
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.isSelectAlternative:(I)Z
            ifne 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 672
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleStatics.PROFILE_GWT:Z
            ifeq 26
        22: .line 673
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 25
            aload 3 /* name */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            iconst_0
            aaload
            instanceof java.lang.invoke.LambdaForm$Name
            ifeq 24
        23: .line 674
            aload 0 /* this */
            aload 3 /* name */
            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.InvokerBytecodeGenerator.nameRefersTo:(Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/Class;Ljava/lang/String;)Z
            ifne 25
      StackMap locals:
      StackMap stack:
        24: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        25: .line 675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            ldc "Ljava/lang/invoke/InjectedProfile;"
            iconst_1
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
            pop
        26: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 2 /* i */
            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 /* onStack */
        27: .line 678
            iinc 2 /* i */ 1
        28: .line 679
            goto 54
        29: .line 681
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 30
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.isGuardWithCatch:(I)Z
            ifne 30
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        30: .line 682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitGuardWithCatch:(I)Ljava/lang/invoke/LambdaForm$Name;
            astore 1 /* onStack */
        31: .line 683
            iinc 2 /* i */ 2
        32: .line 684
            goto 54
        33: .line 686
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            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 /* rtype */
        start local 5 // java.lang.Class rtype
        34: .line 687
            aload 5 /* rtype */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyNameable:(Ljava/lang/Class;)Z
            ifeq 49
        35: .line 688
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitNewArray:(Ljava/lang/invoke/LambdaForm$Name;)V
        36: .line 689
            goto 54
        end local 5 // java.lang.Class rtype
        37: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitArrayLoad:(Ljava/lang/invoke/LambdaForm$Name;)V
        38: .line 694
            goto 54
        39: .line 696
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitArrayStore:(Ljava/lang/invoke/LambdaForm$Name;)V
        40: .line 697
            goto 54
        41: .line 699
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 42
            aload 3 /* name */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            arraylength
            iconst_1
            if_icmpeq 42
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        42: .line 700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;)V
        43: .line 701
            goto 54
        44: .line 703
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 45
            aload 3 /* name */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            arraylength
            ifeq 45
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        45: .line 704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            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
        46: .line 705
            goto 54
        47: .line 708
      StackMap locals:
      StackMap stack:
            goto 49
        48: .line 710
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unknown intrinsic: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* intr */
            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
        49: .line 713
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            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 /* member */
        start local 5 // java.lang.invoke.MemberName member
        50: .line 714
            aload 5 /* member */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyInvocable:(Ljava/lang/invoke/MemberName;)Z
            ifeq 53
        51: .line 715
            aload 0 /* this */
            aload 5 /* member */
            aload 3 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStaticInvoke:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/LambdaForm$Name;)V
        52: .line 716
            goto 54
        53: .line 717
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitInvoke:(Ljava/lang/invoke/LambdaForm$Name;)V
        end local 5 // java.lang.invoke.MemberName member
        end local 4 // java.lang.invoke.MethodHandleImpl$Intrinsic intr
        end local 3 // java.lang.invoke.LambdaForm$Name name
        54: .line 663
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 2 /* i */
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            arraylength
            if_icmplt 15
        end local 2 // int i
        56: .line 722
            aload 0 /* this */
            aload 1 /* onStack */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReturn:(Ljava/lang/invoke/LambdaForm$Name;)V
        57: .line 724
            aload 0 /* this */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.classFileEpilogue:()V
        58: .line 725
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            aastore
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.bogusMethod:([Ljava/lang/Object;)V
        59: .line 727
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
            invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
            astore 2 /* classFile */
        start local 2 // byte[] classFile
        60: .line 728
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.className:Ljava/lang/String;
            aload 2 /* classFile */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.maybeDump:(Ljava/lang/String;[B)V
        61: .line 729
            aload 2 /* classFile */
            areturn
        end local 2 // byte[] classFile
        end local 1 // java.lang.invoke.LambdaForm$Name onStack
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   62     0       this  Ljava/lang/invoke/InvokerBytecodeGenerator;
           13   62     1    onStack  Ljava/lang/invoke/LambdaForm$Name;
           14   56     2          i  I
           16   54     3       name  Ljava/lang/invoke/LambdaForm$Name;
           19   54     4       intr  Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
           34   37     5      rtype  Ljava/lang/Class<*>;
           50   54     5     member  Ljava/lang/invoke/MemberName;
           60   62     2  classFile  [B

  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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name name
         0: .line 732
            aload 0 /* this */
            aload 1 /* name */
            bipush 50
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitArrayOp:(Ljava/lang/invoke/LambdaForm$Name;I)V
            return
        end local 1 // java.lang.invoke.LambdaForm$Name name
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name name
         0: .line 733
            aload 0 /* this */
            aload 1 /* name */
            bipush 83
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitArrayOp:(Ljava/lang/invoke/LambdaForm$Name;I)V
            return
        end local 1 // java.lang.invoke.LambdaForm$Name name
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name name
        start local 2 // int arrayOpcode
         0: .line 736
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 1
            iload 2 /* arrayOpcode */
            bipush 50
            if_icmpeq 1
            iload 2 /* arrayOpcode */
            bipush 83
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 737
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            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 /* elementType */
        start local 3 // java.lang.Class elementType
         2: .line 738
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 3
            aload 3 /* elementType */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 739
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;)V
         4: .line 740
            aload 3 /* elementType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 7
         5: .line 741
            aload 3 /* elementType */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            astore 4 /* w */
        start local 4 // sun.invoke.util.Wrapper w
         6: .line 742
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* w */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.arrayTypeCode:(Lsun/invoke/util/Wrapper;)B
            iload 2 /* arrayOpcode */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.arrayInsnOpcode:(BI)I
            istore 2 /* arrayOpcode */
        end local 4 // sun.invoke.util.Wrapper w
         7: .line 744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            iload 2 /* arrayOpcode */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         8: .line 745
            return
        end local 3 // java.lang.Class elementType
        end local 2 // int arrayOpcode
        end local 1 // java.lang.invoke.LambdaForm$Name name
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name name
         0: .line 751
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.isLinkerMethodInvoke:(Ljava/lang/invoke/LambdaForm$Name;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 754
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            astore 2 /* target */
        start local 2 // java.lang.invoke.MethodHandle target
         2: .line 755
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 3
            aload 2 /* target */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            aload 1 /* name */
            invokevirtual java.lang.invoke.LambdaForm$Name.exprString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 756
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            aload 2 /* target */
            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: .line 757
            aload 0 /* this */
            ldc Ljava/lang/invoke/MethodHandle;
            aload 2 /* target */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReferenceCast:(Ljava/lang/Class;Ljava/lang/Object;)V
        end local 2 // java.lang.invoke.MethodHandle target
         5: .line 768
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;)V
         6: .line 771
            aload 1 /* name */
            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 /* type */
        start local 2 // java.lang.invoke.MethodType type
         7: .line 772
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 182
            ldc "java/lang/invoke/MethodHandle"
            ldc "invokeBasic"
            aload 2 /* type */
            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: .line 773
            return
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.invoke.LambdaForm$Name name
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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$Name);
    descriptor: (Ljava/lang/invoke/LambdaForm$Name;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$Name name
         0: .line 784
            aload 0 /* name */
            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 // java.lang.invoke.LambdaForm$Name name
      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=7, args_size=1
        start local 0 // java.lang.invoke.MemberName member
         0: .line 788
            aload 0 /* member */
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 789
      StackMap locals:
      StackMap stack:
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
            ifeq 2
            iconst_0
            ireturn
         2: .line 790
      StackMap locals:
      StackMap stack:
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            astore 1 /* cls */
        start local 1 // java.lang.Class cls
         3: .line 791
            aload 1 /* cls */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 4
            aload 1 /* cls */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 5
         4: .line 792
      StackMap locals: java.lang.Class
      StackMap stack:
            iconst_0
            ireturn
         5: .line 793
      StackMap locals:
      StackMap stack:
            aload 1 /* cls */
            invokevirtual java.lang.Class.isAnonymousClass:()Z
            ifne 6
            aload 1 /* cls */
            invokevirtual java.lang.Class.isLocalClass:()Z
            ifeq 7
         6: .line 794
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 795
      StackMap locals:
      StackMap stack:
            aload 1 /* cls */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            ldc Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpeq 9
         8: .line 796
            iconst_0
            ireturn
         9: .line 797
      StackMap locals:
      StackMap stack:
            aload 1 /* cls */
            invokestatic sun.reflect.misc.ReflectUtil.isVMAnonymousClass:(Ljava/lang/Class;)Z
            ifeq 11
        10: .line 798
            iconst_0
            ireturn
        11: .line 799
      StackMap locals:
      StackMap stack:
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.getMethodOrFieldType:()Ljava/lang/invoke/MethodType;
            astore 2 /* mtype */
        start local 2 // java.lang.invoke.MethodType mtype
        12: .line 800
            aload 2 /* mtype */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyNameable:(Ljava/lang/Class;)Z
            ifne 14
        13: .line 801
            iconst_0
            ireturn
        14: .line 802
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            aload 2 /* mtype */
            invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 19
      StackMap locals: java.lang.invoke.MemberName java.lang.Class java.lang.invoke.MethodType top int int java.lang.Class[]
      StackMap stack:
        15: aload 6
            iload 4
            aaload
            astore 3 /* ptype */
        start local 3 // java.lang.Class ptype
        16: .line 803
            aload 3 /* ptype */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyNameable:(Ljava/lang/Class;)Z
            ifne 18
        17: .line 804
            iconst_0
            ireturn
        end local 3 // java.lang.Class ptype
        18: .line 802
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        19: iload 4
            iload 5
            if_icmplt 15
        20: .line 805
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.isPrivate:()Z
            ifne 22
            ldc Ljava/lang/invoke/MethodHandle;
            aload 1 /* cls */
            invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 22
        21: .line 806
            iconst_1
            ireturn
        22: .line 807
      StackMap locals: java.lang.invoke.MemberName java.lang.Class java.lang.invoke.MethodType
      StackMap stack:
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.isPublic:()Z
            ifeq 24
            aload 1 /* cls */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.isStaticallyNameable:(Ljava/lang/Class;)Z
            ifeq 24
        23: .line 808
            iconst_1
            ireturn
        24: .line 809
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.invoke.MethodType mtype
        end local 1 // java.lang.Class cls
        end local 0 // java.lang.invoke.MemberName member
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   25     0  member  Ljava/lang/invoke/MemberName;
            3   25     1     cls  Ljava/lang/Class<*>;
           12   25     2   mtype  Ljava/lang/invoke/MethodType;
           16   18     3   ptype  Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      member  

  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 // java.lang.Class cls
         0: .line 813
            aload 0 /* cls */
            ldc Ljava/lang/Object;
            if_acmpne 3
         1: .line 814
            iconst_1
            ireturn
         2: .line 816
      StackMap locals:
      StackMap stack:
            aload 0 /* cls */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 0 /* cls */
         3: .line 815
      StackMap locals:
      StackMap stack:
            aload 0 /* cls */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 2
         4: .line 817
            aload 0 /* cls */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 6
         5: .line 818
            iconst_1
            ireturn
         6: .line 819
      StackMap locals:
      StackMap stack:
            aload 0 /* cls */
            invokestatic sun.reflect.misc.ReflectUtil.isVMAnonymousClass:(Ljava/lang/Class;)Z
            ifeq 8
         7: .line 820
            iconst_0
            ireturn
         8: .line 822
      StackMap locals:
      StackMap stack:
            aload 0 /* cls */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            ldc Ljava/lang/Object;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpeq 10
         9: .line 823
            iconst_0
            ireturn
        10: .line 824
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/invoke/MethodHandle;
            aload 0 /* cls */
            invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 12
        11: .line 825
            iconst_1
            ireturn
        12: .line 826
      StackMap locals:
      StackMap stack:
            aload 0 /* cls */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifne 14
        13: .line 827
            iconst_0
            ireturn
        14: .line 828
      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 19
      StackMap locals: java.lang.Class top int int java.lang.Class[]
      StackMap stack:
        15: aload 4
            iload 2
            aaload
            astore 1 /* pkgcls */
        start local 1 // java.lang.Class pkgcls
        16: .line 829
            aload 1 /* pkgcls */
            aload 0 /* cls */
            invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 18
        17: .line 830
            iconst_1
            ireturn
        end local 1 // java.lang.Class pkgcls
        18: .line 828
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        19: iload 2
            iload 3
            if_icmplt 15
        20: .line 832
            iconst_0
            ireturn
        end local 0 // java.lang.Class cls
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0     cls  Ljava/lang/Class<*>;
           16   18     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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name name
         0: .line 836
            aload 0 /* this */
            aload 1 /* name */
            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 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStaticInvoke:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/LambdaForm$Name;)V
         1: .line 837
            return
        end local 1 // java.lang.invoke.LambdaForm$Name name
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.MemberName member
        start local 2 // java.lang.invoke.LambdaForm$Name name
         0: .line 843
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* member */
            aload 2 /* name */
            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: .line 844
      StackMap locals:
      StackMap stack:
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            astore 3 /* defc */
        start local 3 // java.lang.Class defc
         2: .line 845
            aload 3 /* defc */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
            astore 4 /* cname */
        start local 4 // java.lang.String cname
         3: .line 846
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            astore 5 /* mname */
        start local 5 // java.lang.String mname
         4: .line 848
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            istore 7 /* refKind */
        start local 7 // byte refKind
         5: .line 849
            iload 7 /* refKind */
            bipush 7
            if_icmpne 8
         6: .line 851
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 7
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.canBeStaticallyBound:()Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* member */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 852
      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 /* refKind */
         8: .line 855
      StackMap locals:
      StackMap stack:
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 10
            iload 7 /* refKind */
            iconst_5
            if_icmpne 10
         9: .line 858
            bipush 9
            istore 7 /* refKind */
        10: .line 862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;)V
        11: .line 865
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.isMethod:()Z
            ifeq 17
        12: .line 866
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
            astore 6 /* mtype */
        start local 6 // java.lang.String mtype
        13: .line 867
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            iload 7 /* refKind */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.refKindOpcode:(B)I
            aload 4 /* cname */
            aload 5 /* mname */
            aload 6 /* mtype */
        14: .line 868
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isInterface:()Z
        15: .line 867
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        16: .line 869
            goto 19
        end local 6 // java.lang.String mtype
        17: .line 870
      StackMap locals:
      StackMap stack:
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.getFieldType:()Ljava/lang/Class;
            invokestatic java.lang.invoke.MethodType.toFieldDescriptorString:(Ljava/lang/Class;)Ljava/lang/String;
            astore 6 /* mtype */
        start local 6 // java.lang.String mtype
        18: .line 871
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            iload 7 /* refKind */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.refKindOpcode:(B)I
            aload 4 /* cname */
            aload 5 /* mname */
            aload 6 /* mtype */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        19: .line 874
      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 /* name */
            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 24
        20: .line 875
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 8 /* rtype */
        start local 8 // java.lang.Class rtype
        21: .line 876
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 22
            aload 8 /* rtype */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 877
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 8 /* rtype */
            ldc Ljava/lang/Object;
            if_acmpeq 24
            aload 8 /* rtype */
            invokevirtual java.lang.Class.isInterface:()Z
            ifne 24
        23: .line 878
            aload 0 /* this */
            aload 8 /* rtype */
            aload 2 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.assertStaticType:(Ljava/lang/Class;Ljava/lang/invoke/LambdaForm$Name;)Z
            pop
        end local 8 // java.lang.Class rtype
        24: .line 881
      StackMap locals:
      StackMap stack:
            return
        end local 7 // byte refKind
        end local 6 // java.lang.String mtype
        end local 5 // java.lang.String mname
        end local 4 // java.lang.String cname
        end local 3 // java.lang.Class defc
        end local 2 // java.lang.invoke.LambdaForm$Name name
        end local 1 // java.lang.invoke.MemberName member
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   25     0     this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0   25     1   member  Ljava/lang/invoke/MemberName;
            0   25     2     name  Ljava/lang/invoke/LambdaForm$Name;
            2   25     3     defc  Ljava/lang/Class<*>;
            3   25     4    cname  Ljava/lang/String;
            4   25     5    mname  Ljava/lang/String;
           13   17     6    mtype  Ljava/lang/String;
           18   25     6    mtype  Ljava/lang/String;
            5   25     7  refKind  B
           21   24     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=3, locals=6, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name name
         0: .line 884
            aload 1 /* name */
            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 /* rtype */
        start local 2 // java.lang.Class rtype
         1: .line 885
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            arraylength
            ifne 11
         2: .line 889
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodHandle.invoke:()Ljava/lang/Object;
            astore 3 /* emptyArray */
        start local 3 // java.lang.Object emptyArray
         3: .line 890
            goto 6
        end local 3 // java.lang.Object emptyArray
      StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.invoke.LambdaForm$Name java.lang.Class
      StackMap stack: java.lang.Throwable
         4: astore 4 /* ex */
        start local 4 // java.lang.Throwable ex
         5: .line 891
            aload 4 /* ex */
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Throwable;)Ljava/lang/InternalError;
            athrow
        end local 4 // java.lang.Throwable ex
        start local 3 // java.lang.Object emptyArray
         6: .line 893
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 7
            aload 3 /* emptyArray */
            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: .line 894
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 8
            aload 3 /* emptyArray */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* rtype */
            if_acmpeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 895
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            aload 3 /* emptyArray */
            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: .line 896
            aload 0 /* this */
            aload 2 /* rtype */
            aload 3 /* emptyArray */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReferenceCast:(Ljava/lang/Class;Ljava/lang/Object;)V
        10: .line 897
            return
        end local 3 // java.lang.Object emptyArray
        11: .line 899
      StackMap locals:
      StackMap stack:
            aload 2 /* rtype */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 3 /* arrayElementType */
        start local 3 // java.lang.Class arrayElementType
        12: .line 900
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 13
            aload 3 /* arrayElementType */
            ifnonnull 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 901
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            arraylength
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
        14: .line 902
            bipush 83
            istore 4 /* xas */
        start local 4 // int xas
        15: .line 903
            aload 3 /* arrayElementType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 18
        16: .line 904
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 189
            aload 3 /* arrayElementType */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        17: .line 905
            goto 21
        18: .line 906
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* arrayElementType */
            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 /* tc */
        start local 5 // byte tc
        19: .line 907
            aload 0 /* this */
            iload 5 /* tc */
            iload 4 /* xas */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.arrayInsnOpcode:(BI)I
            istore 4 /* xas */
        20: .line 908
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 188
            iload 5 /* tc */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
        end local 5 // byte tc
        21: .line 911
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        22: goto 28
        23: .line 912
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            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: .line 913
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
        25: .line 914
            aload 0 /* this */
            aload 1 /* name */
            iload 5 /* i */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
        26: .line 915
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            iload 4 /* xas */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        27: .line 911
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 5 /* i */
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            arraylength
            if_icmplt 23
        end local 5 // int i
        29: .line 918
            aload 0 /* this */
            aload 2 /* rtype */
            aload 1 /* name */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.assertStaticType:(Ljava/lang/Class;Ljava/lang/invoke/LambdaForm$Name;)Z
            pop
        30: .line 919
            return
        end local 4 // int xas
        end local 3 // java.lang.Class arrayElementType
        end local 2 // java.lang.Class rtype
        end local 1 // java.lang.invoke.LambdaForm$Name name
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // byte refKind
         0: .line 921
            iload 1 /* refKind */
            tableswitch { // 1 - 9
                    1: 5
                    2: 7
                    3: 6
                    4: 8
                    5: 1
                    6: 2
                    7: 3
                    8: 9
                    9: 4
              default: 9
          }
         1: .line 922
      StackMap locals:
      StackMap stack:
            sipush 182
            ireturn
         2: .line 923
      StackMap locals:
      StackMap stack:
            sipush 184
            ireturn
         3: .line 924
      StackMap locals:
      StackMap stack:
            sipush 183
            ireturn
         4: .line 925
      StackMap locals:
      StackMap stack:
            sipush 185
            ireturn
         5: .line 926
      StackMap locals:
      StackMap stack:
            sipush 180
            ireturn
         6: .line 927
      StackMap locals:
      StackMap stack:
            sipush 181
            ireturn
         7: .line 928
      StackMap locals:
      StackMap stack:
            sipush 178
            ireturn
         8: .line 929
      StackMap locals:
      StackMap stack:
            sipush 179
            ireturn
         9: .line 931
      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 /* refKind */
            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 // byte refKind
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0   10     1  refKind  B
    MethodParameters:
         Name  Flags
      refKind  

  private boolean memberRefersTo(java.lang.invoke.MemberName, java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.MemberName member
        start local 2 // java.lang.Class declaringClass
        start local 3 // java.lang.String name
         0: .line 938
            aload 1 /* member */
            ifnull 4
         1: .line 939
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 2 /* declaringClass */
            if_acmpne 4
         2: .line 940
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            aload 3 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 938
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class declaringClass
        end local 1 // java.lang.invoke.MemberName member
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0    5     1          member  Ljava/lang/invoke/MemberName;
            0    5     2  declaringClass  Ljava/lang/Class<*>;
            0    5     3            name  Ljava/lang/String;
    Signature: (Ljava/lang/invoke/MemberName;Ljava/lang/Class<*>;Ljava/lang/String;)Z
    MethodParameters:
                Name  Flags
      member          
      declaringClass  
      name            

  private boolean nameRefersTo(java.lang.invoke.LambdaForm$Name, java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/Class;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name name
        start local 2 // java.lang.Class declaringClass
        start local 3 // java.lang.String methodName
         0: .line 943
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            ifnull 3
         1: .line 944
            aload 0 /* this */
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.member:()Ljava/lang/invoke/MemberName;
            aload 2 /* declaringClass */
            aload 3 /* methodName */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.memberRefersTo:(Ljava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/String;)Z
            ifeq 3
         2: .line 943
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 3 // java.lang.String methodName
        end local 2 // java.lang.Class declaringClass
        end local 1 // java.lang.invoke.LambdaForm$Name name
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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  declaringClass  Ljava/lang/Class<*>;
            0    4     3      methodName  Ljava/lang/String;
    Signature: (Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/Class<*>;Ljava/lang/String;)Z
    MethodParameters:
                Name  Flags
      name            
      declaringClass  
      methodName      

  private boolean isInvokeBasic(java.lang.invoke.LambdaForm$Name);
    descriptor: (Ljava/lang/invoke/LambdaForm$Name;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name name
         0: .line 951
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            ifnonnull 2
         1: .line 952
            iconst_0
            ireturn
         2: .line 953
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            arraylength
            iconst_1
            if_icmpge 4
         3: .line 954
            iconst_0
            ireturn
         4: .line 955
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.member:()Ljava/lang/invoke/MemberName;
            astore 2 /* member */
        start local 2 // java.lang.invoke.MemberName member
         5: .line 956
            aload 0 /* this */
            aload 2 /* member */
            ldc Ljava/lang/invoke/MethodHandle;
            ldc "invokeBasic"
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.memberRefersTo:(Ljava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/String;)Z
            ifeq 8
         6: .line 957
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isPublic:()Z
            ifne 8
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            ifne 8
         7: .line 956
            iconst_1
            ireturn
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // java.lang.invoke.MemberName member
        end local 1 // java.lang.invoke.LambdaForm$Name name
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0    9     1    name  Ljava/lang/invoke/LambdaForm$Name;
            5    9     2  member  Ljava/lang/invoke/MemberName;
    MethodParameters:
      Name  Flags
      name  

  private boolean isLinkerMethodInvoke(java.lang.invoke.LambdaForm$Name);
    descriptor: (Ljava/lang/invoke/LambdaForm$Name;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name name
         0: .line 964
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            ifnonnull 2
         1: .line 965
            iconst_0
            ireturn
         2: .line 966
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            arraylength
            iconst_1
            if_icmpge 4
         3: .line 967
            iconst_0
            ireturn
         4: .line 968
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.member:()Ljava/lang/invoke/MemberName;
            astore 2 /* member */
        start local 2 // java.lang.invoke.MemberName member
         5: .line 969
            aload 2 /* member */
            ifnull 10
         6: .line 970
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            ldc Ljava/lang/invoke/MethodHandle;
            if_acmpne 10
         7: .line 971
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isPublic:()Z
            ifne 10
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            ifeq 10
         8: .line 972
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            ldc "linkTo"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 969
            iconst_1
            ireturn
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
        10: iconst_0
            ireturn
        end local 2 // java.lang.invoke.MemberName member
        end local 1 // java.lang.invoke.LambdaForm$Name name
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0   11     1    name  Ljava/lang/invoke/LambdaForm$Name;
            5   11     2  member  Ljava/lang/invoke/MemberName;
    MethodParameters:
      Name  Flags
      name  

  private boolean isSelectAlternative(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // int pos
         0: .line 982
            iload 1 /* pos */
            iconst_1
            iadd
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            arraylength
            if_icmplt 1
            iconst_0
            ireturn
         1: .line 983
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* pos */
            aaload
            astore 2 /* name0 */
        start local 2 // java.lang.invoke.LambdaForm$Name name0
         2: .line 984
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* pos */
            iconst_1
            iadd
            aaload
            astore 3 /* name1 */
        start local 3 // java.lang.invoke.LambdaForm$Name name1
         3: .line 985
            aload 0 /* this */
            aload 2 /* name0 */
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "selectAlternative"
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.nameRefersTo:(Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/Class;Ljava/lang/String;)Z
            ifeq 8
         4: .line 986
            aload 0 /* this */
            aload 3 /* name1 */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.isInvokeBasic:(Ljava/lang/invoke/LambdaForm$Name;)Z
            ifeq 8
         5: .line 987
            aload 3 /* name1 */
            aload 2 /* name0 */
            invokevirtual java.lang.invoke.LambdaForm$Name.lastUseIndex:(Ljava/lang/invoke/LambdaForm$Name;)I
            ifne 8
         6: .line 988
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            aload 2 /* name0 */
            invokevirtual java.lang.invoke.LambdaForm.lastUseIndex:(Ljava/lang/invoke/LambdaForm$Name;)I
            iload 1 /* pos */
            iconst_1
            iadd
            if_icmpne 8
         7: .line 985
            iconst_1
            ireturn
      StackMap locals: java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name
      StackMap stack:
         8: iconst_0
            ireturn
        end local 3 // java.lang.invoke.LambdaForm$Name name1
        end local 2 // java.lang.invoke.LambdaForm$Name name0
        end local 1 // int pos
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0    9     1    pos  I
            2    9     2  name0  Ljava/lang/invoke/LambdaForm$Name;
            3    9     3  name1  Ljava/lang/invoke/LambdaForm$Name;
    MethodParameters:
      Name  Flags
      pos   

  private boolean isGuardWithCatch(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // int pos
         0: .line 999
            iload 1 /* pos */
            iconst_2
            iadd
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            arraylength
            if_icmplt 1
            iconst_0
            ireturn
         1: .line 1000
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* pos */
            aaload
            astore 2 /* name0 */
        start local 2 // java.lang.invoke.LambdaForm$Name name0
         2: .line 1001
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* pos */
            iconst_1
            iadd
            aaload
            astore 3 /* name1 */
        start local 3 // java.lang.invoke.LambdaForm$Name name1
         3: .line 1002
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* pos */
            iconst_2
            iadd
            aaload
            astore 4 /* name2 */
        start local 4 // java.lang.invoke.LambdaForm$Name name2
         4: .line 1003
            aload 0 /* this */
            aload 3 /* name1 */
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "guardWithCatch"
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.nameRefersTo:(Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/Class;Ljava/lang/String;)Z
            ifeq 12
         5: .line 1004
            aload 0 /* this */
            aload 2 /* name0 */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.isInvokeBasic:(Ljava/lang/invoke/LambdaForm$Name;)Z
            ifeq 12
         6: .line 1005
            aload 0 /* this */
            aload 4 /* name2 */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.isInvokeBasic:(Ljava/lang/invoke/LambdaForm$Name;)Z
            ifeq 12
         7: .line 1006
            aload 3 /* name1 */
            aload 2 /* name0 */
            invokevirtual java.lang.invoke.LambdaForm$Name.lastUseIndex:(Ljava/lang/invoke/LambdaForm$Name;)I
            iconst_3
            if_icmpne 12
         8: .line 1007
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            aload 2 /* name0 */
            invokevirtual java.lang.invoke.LambdaForm.lastUseIndex:(Ljava/lang/invoke/LambdaForm$Name;)I
            iload 1 /* pos */
            iconst_1
            iadd
            if_icmpne 12
         9: .line 1008
            aload 4 /* name2 */
            aload 3 /* name1 */
            invokevirtual java.lang.invoke.LambdaForm$Name.lastUseIndex:(Ljava/lang/invoke/LambdaForm$Name;)I
            iconst_1
            if_icmpne 12
        10: .line 1009
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            aload 3 /* name1 */
            invokevirtual java.lang.invoke.LambdaForm.lastUseIndex:(Ljava/lang/invoke/LambdaForm$Name;)I
            iload 1 /* pos */
            iconst_2
            iadd
            if_icmpne 12
        11: .line 1003
            iconst_1
            ireturn
      StackMap locals: java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name
      StackMap stack:
        12: iconst_0
            ireturn
        end local 4 // java.lang.invoke.LambdaForm$Name name2
        end local 3 // java.lang.invoke.LambdaForm$Name name1
        end local 2 // java.lang.invoke.LambdaForm$Name name0
        end local 1 // int pos
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0   13     1    pos  I
            2   13     2  name0  Ljava/lang/invoke/LambdaForm$Name;
            3   13     3  name1  Ljava/lang/invoke/LambdaForm$Name;
            4   13     4  name2  Ljava/lang/invoke/LambdaForm$Name;
    MethodParameters:
      Name  Flags
      pos   

  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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name selectAlternativeName
        start local 2 // java.lang.invoke.LambdaForm$Name invokeBasicName
         0: .line 1024
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 1
            aload 2 /* invokeBasicName */
            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: .line 1026
      StackMap locals:
      StackMap stack:
            aload 2 /* invokeBasicName */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            iconst_0
            aaload
            checkcast java.lang.invoke.LambdaForm$Name
            astore 3 /* receiver */
        start local 3 // java.lang.invoke.LambdaForm$Name receiver
         2: .line 1028
            new jdk.internal.org.objectweb.asm.Label
            dup
            invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
            astore 4 /* L_fallback */
        start local 4 // jdk.internal.org.objectweb.asm.Label L_fallback
         3: .line 1029
            new jdk.internal.org.objectweb.asm.Label
            dup
            invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
            astore 5 /* L_done */
        start local 5 // jdk.internal.org.objectweb.asm.Label L_done
         4: .line 1032
            aload 0 /* this */
            aload 1 /* selectAlternativeName */
            iconst_0
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
         5: .line 1035
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 153
            aload 4 /* L_fallback */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
         6: .line 1038
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
            invokevirtual java.lang.Class[].clone:()Ljava/lang/Object;
            checkcast java.lang.Class[]
            astore 6 /* preForkClasses */
        start local 6 // java.lang.Class[] preForkClasses
         7: .line 1039
            aload 0 /* this */
            aload 1 /* selectAlternativeName */
            iconst_1
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
         8: .line 1040
            aload 0 /* this */
            aload 3 /* receiver */
            invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAstoreInsn:(I)V
         9: .line 1041
            aload 0 /* this */
            aload 2 /* invokeBasicName */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStaticInvoke:(Ljava/lang/invoke/LambdaForm$Name;)V
        10: .line 1044
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 167
            aload 5 /* L_done */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
        11: .line 1047
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 4 /* L_fallback */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
        12: .line 1050
            aload 6 /* preForkClasses */
            iconst_0
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
            iconst_0
            aload 6 /* preForkClasses */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 1051
            aload 0 /* this */
            aload 1 /* selectAlternativeName */
            iconst_2
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
        14: .line 1052
            aload 0 /* this */
            aload 3 /* receiver */
            invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAstoreInsn:(I)V
        15: .line 1053
            aload 0 /* this */
            aload 2 /* invokeBasicName */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStaticInvoke:(Ljava/lang/invoke/LambdaForm$Name;)V
        16: .line 1056
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 5 /* L_done */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
        17: .line 1058
            aload 6 /* preForkClasses */
            iconst_0
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.localClasses:[Ljava/lang/Class;
            iconst_0
            aload 6 /* preForkClasses */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 1060
            aload 2 /* invokeBasicName */
            areturn
        end local 6 // java.lang.Class[] preForkClasses
        end local 5 // jdk.internal.org.objectweb.asm.Label L_done
        end local 4 // jdk.internal.org.objectweb.asm.Label L_fallback
        end local 3 // java.lang.invoke.LambdaForm$Name receiver
        end local 2 // java.lang.invoke.LambdaForm$Name invokeBasicName
        end local 1 // java.lang.invoke.LambdaForm$Name selectAlternativeName
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // int pos
         0: .line 1084
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* pos */
            aaload
            astore 2 /* args */
        start local 2 // java.lang.invoke.LambdaForm$Name args
         1: .line 1085
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* pos */
            iconst_1
            iadd
            aaload
            astore 3 /* invoker */
        start local 3 // java.lang.invoke.LambdaForm$Name invoker
         2: .line 1086
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* pos */
            iconst_2
            iadd
            aaload
            astore 4 /* result */
        start local 4 // java.lang.invoke.LambdaForm$Name result
         3: .line 1088
            new jdk.internal.org.objectweb.asm.Label
            dup
            invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
            astore 5 /* L_startBlock */
        start local 5 // jdk.internal.org.objectweb.asm.Label L_startBlock
         4: .line 1089
            new jdk.internal.org.objectweb.asm.Label
            dup
            invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
            astore 6 /* L_endBlock */
        start local 6 // jdk.internal.org.objectweb.asm.Label L_endBlock
         5: .line 1090
            new jdk.internal.org.objectweb.asm.Label
            dup
            invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
            astore 7 /* L_handler */
        start local 7 // jdk.internal.org.objectweb.asm.Label L_handler
         6: .line 1091
            new jdk.internal.org.objectweb.asm.Label
            dup
            invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
            astore 8 /* L_done */
        start local 8 // jdk.internal.org.objectweb.asm.Label L_done
         7: .line 1093
            aload 4 /* result */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            getfield 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 /* returnType */
        start local 9 // java.lang.Class returnType
         8: .line 1094
            aload 2 /* args */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
         9: .line 1095
            iconst_0
            iconst_1
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
        10: .line 1096
            aload 9 /* returnType */
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        11: .line 1094
            astore 10 /* type */
        start local 10 // java.lang.invoke.MethodType type
        12: .line 1098
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 5 /* L_startBlock */
            aload 6 /* L_endBlock */
            aload 7 /* L_handler */
            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: .line 1101
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 5 /* L_startBlock */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
        14: .line 1103
            aload 0 /* this */
            aload 3 /* invoker */
            iconst_0
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
        15: .line 1104
            aload 0 /* this */
            aload 2 /* args */
            iconst_1
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
        16: .line 1105
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 182
            ldc "java/lang/invoke/MethodHandle"
            ldc "invokeBasic"
            aload 10 /* type */
            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: .line 1106
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 6 /* L_endBlock */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
        18: .line 1107
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 167
            aload 8 /* L_done */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
        19: .line 1110
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 7 /* L_handler */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
        20: .line 1113
            aload 0 /* this */
            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: .line 1115
            aload 0 /* this */
            aload 3 /* invoker */
            iconst_1
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
        22: .line 1116
            aload 0 /* this */
            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: .line 1117
            aload 0 /* this */
            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: .line 1118
            new jdk.internal.org.objectweb.asm.Label
            dup
            invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
            astore 11 /* L_rethrow */
        start local 11 // jdk.internal.org.objectweb.asm.Label L_rethrow
        25: .line 1119
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 153
            aload 11 /* L_rethrow */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
        26: .line 1123
            aload 0 /* this */
            aload 3 /* invoker */
            iconst_2
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
        27: .line 1124
            aload 0 /* this */
            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: .line 1125
            aload 0 /* this */
            aload 2 /* args */
            iconst_1
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
        29: .line 1126
            aload 10 /* type */
            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 /* catcherType */
        start local 12 // java.lang.invoke.MethodType catcherType
        30: .line 1127
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 182
            ldc "java/lang/invoke/MethodHandle"
            ldc "invokeBasic"
            aload 12 /* catcherType */
            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: .line 1128
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 167
            aload 8 /* L_done */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILjdk/internal/org/objectweb/asm/Label;)V
        32: .line 1130
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 11 /* L_rethrow */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
        33: .line 1131
            aload 0 /* this */
            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: .line 1133
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 8 /* L_done */
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
        35: .line 1135
            aload 4 /* result */
            areturn
        end local 12 // java.lang.invoke.MethodType catcherType
        end local 11 // jdk.internal.org.objectweb.asm.Label L_rethrow
        end local 10 // java.lang.invoke.MethodType type
        end local 9 // java.lang.Class returnType
        end local 8 // jdk.internal.org.objectweb.asm.Label L_done
        end local 7 // jdk.internal.org.objectweb.asm.Label L_handler
        end local 6 // jdk.internal.org.objectweb.asm.Label L_endBlock
        end local 5 // jdk.internal.org.objectweb.asm.Label L_startBlock
        end local 4 // java.lang.invoke.LambdaForm$Name result
        end local 3 // java.lang.invoke.LambdaForm$Name invoker
        end local 2 // java.lang.invoke.LambdaForm$Name args
        end local 1 // int pos
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 void emitPushArguments(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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name args
         0: .line 1139
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments:(Ljava/lang/invoke/LambdaForm$Name;I)V
         1: .line 1140
            return
        end local 1 // java.lang.invoke.LambdaForm$Name args
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0    2     1  args  Ljava/lang/invoke/LambdaForm$Name;
    MethodParameters:
      Name  Flags
      args  

  private void emitPushArguments(java.lang.invoke.LambdaForm$Name, int);
    descriptor: (Ljava/lang/invoke/LambdaForm$Name;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name args
        start local 2 // int start
         0: .line 1143
            iload 2 /* start */
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 1144
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iload 3 /* i */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/invoke/LambdaForm$Name;I)V
         3: .line 1143
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            aload 1 /* args */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            arraylength
            if_icmplt 2
        end local 3 // int i
         5: .line 1146
            return
        end local 2 // int start
        end local 1 // java.lang.invoke.LambdaForm$Name args
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0    6     1   args  Ljava/lang/invoke/LambdaForm$Name;
            0    6     2  start  I
            1    5     3      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name name
        start local 2 // int paramIndex
         0: .line 1149
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            iload 2 /* paramIndex */
            aaload
            astore 3 /* arg */
        start local 3 // java.lang.Object arg
         1: .line 1150
            aload 1 /* name */
            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 /* paramIndex */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 4 /* ptype */
        start local 4 // java.lang.Class ptype
         2: .line 1151
            aload 0 /* this */
            aload 4 /* ptype */
            aload 3 /* arg */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument:(Ljava/lang/Class;Ljava/lang/Object;)V
         3: .line 1152
            return
        end local 4 // java.lang.Class ptype
        end local 3 // java.lang.Object arg
        end local 2 // int paramIndex
        end local 1 // java.lang.invoke.LambdaForm$Name name
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.Class ptype
        start local 2 // java.lang.Object arg
         0: .line 1155
            aload 1 /* ptype */
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            astore 3 /* bptype */
        start local 3 // java.lang.invoke.LambdaForm$BasicType bptype
         1: .line 1156
            aload 2 /* arg */
            instanceof java.lang.invoke.LambdaForm$Name
            ifeq 6
         2: .line 1157
            aload 2 /* arg */
            checkcast java.lang.invoke.LambdaForm$Name
            astore 4 /* n */
        start local 4 // java.lang.invoke.LambdaForm$Name n
         3: .line 1158
            aload 0 /* this */
            aload 4 /* n */
            getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
            aload 4 /* n */
            invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoadInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
         4: .line 1159
            aload 0 /* this */
            aload 4 /* n */
            getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
            aload 1 /* ptype */
            aload 4 /* n */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitImplicitConversion:(Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class;Ljava/lang/Object;)V
        end local 4 // java.lang.invoke.LambdaForm$Name n
         5: .line 1160
            goto 15
      StackMap locals: java.lang.invoke.LambdaForm$BasicType
      StackMap stack:
         6: aload 2 /* arg */
            ifnull 7
            aload 2 /* arg */
            instanceof java.lang.String
            ifeq 10
      StackMap locals:
      StackMap stack:
         7: aload 3 /* bptype */
            getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            if_acmpne 10
         8: .line 1161
            aload 0 /* this */
            aload 2 /* arg */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitConst:(Ljava/lang/Object;)V
         9: .line 1162
            goto 15
        10: .line 1163
      StackMap locals:
      StackMap stack:
            aload 2 /* arg */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic sun.invoke.util.Wrapper.isWrapperType:(Ljava/lang/Class;)Z
            ifeq 13
            aload 3 /* bptype */
            getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            if_acmpeq 13
        11: .line 1164
            aload 0 /* this */
            aload 2 /* arg */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitConst:(Ljava/lang/Object;)V
        12: .line 1165
            goto 15
        13: .line 1166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            aload 2 /* arg */
            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: .line 1167
            aload 0 /* this */
            getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            aload 1 /* ptype */
            aload 2 /* arg */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitImplicitConversion:(Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class;Ljava/lang/Object;)V
        15: .line 1170
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.invoke.LambdaForm$BasicType bptype
        end local 2 // java.lang.Object arg
        end local 1 // java.lang.Class ptype
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name name
         0: .line 1176
            aload 1 /* name */
            ifnull 2
            aload 1 /* name */
            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: .line 1178
            aload 0 /* this */
            aload 1 /* name */
            getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
            aload 1 /* name */
            invokevirtual java.lang.invoke.LambdaForm$Name.index:()I
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitStoreInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
         2: .line 1180
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.invoke.LambdaForm$Name name
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.LambdaForm$Name onStack
         0: .line 1187
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 2 /* rclass */
        start local 2 // java.lang.Class rclass
         1: .line 1188
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            invokevirtual java.lang.invoke.LambdaForm.returnType:()Ljava/lang/invoke/LambdaForm$BasicType;
            astore 3 /* rtype */
        start local 3 // java.lang.invoke.LambdaForm$BasicType rtype
         2: .line 1189
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 3
            aload 3 /* rtype */
            aload 2 /* rclass */
            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: .line 1190
      StackMap locals: java.lang.Class java.lang.invoke.LambdaForm$BasicType
      StackMap stack:
            aload 3 /* rtype */
            getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            if_acmpne 6
         4: .line 1192
            aload 0 /* this */
            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: .line 1194
            goto 11
         6: .line 1195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.result:I
            aaload
            astore 4 /* rn */
        start local 4 // java.lang.invoke.LambdaForm$Name rn
         7: .line 1198
            aload 4 /* rn */
            aload 1 /* onStack */
            if_acmpeq 9
         8: .line 1199
            aload 0 /* this */
            aload 3 /* rtype */
            aload 0 /* this */
            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: .line 1202
      StackMap locals: java.lang.invoke.LambdaForm$Name
      StackMap stack:
            aload 0 /* this */
            aload 3 /* rtype */
            aload 2 /* rclass */
            aload 4 /* rn */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitImplicitConversion:(Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class;Ljava/lang/Object;)V
        10: .line 1205
            aload 0 /* this */
            aload 3 /* rtype */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitReturnInsn:(Ljava/lang/invoke/LambdaForm$BasicType;)V
        end local 4 // java.lang.invoke.LambdaForm$Name rn
        11: .line 1207
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.invoke.LambdaForm$BasicType rtype
        end local 2 // java.lang.Class rclass
        end local 1 // java.lang.invoke.LambdaForm$Name onStack
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // sun.invoke.util.Wrapper from
        start local 2 // sun.invoke.util.Wrapper to
         0: .line 1225
            aload 1 /* from */
            aload 2 /* to */
            if_acmpne 2
         1: .line 1227
            return
         2: .line 1229
      StackMap locals:
      StackMap stack:
            aload 1 /* from */
            invokevirtual sun.invoke.util.Wrapper.isSubwordOrInt:()Z
            ifeq 5
         3: .line 1231
            aload 0 /* this */
            aload 2 /* to */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitI2X:(Lsun/invoke/util/Wrapper;)V
         4: .line 1232
            goto 30
         5: .line 1234
      StackMap locals:
      StackMap stack:
            aload 2 /* to */
            invokevirtual sun.invoke.util.Wrapper.isSubwordOrInt:()Z
            ifeq 10
         6: .line 1236
            aload 0 /* this */
            aload 1 /* from */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitX2I:(Lsun/invoke/util/Wrapper;)V
         7: .line 1237
            aload 2 /* to */
            invokevirtual sun.invoke.util.Wrapper.bitWidth:()I
            bipush 32
            if_icmpge 30
         8: .line 1239
            aload 0 /* this */
            aload 2 /* to */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitI2X:(Lsun/invoke/util/Wrapper;)V
         9: .line 1241
            goto 30
        10: .line 1243
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* error */
        start local 3 // boolean error
        11: .line 1244
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
            aload 1 /* from */
            invokevirtual sun.invoke.util.Wrapper.ordinal:()I
            iaload
            tableswitch { // 6 - 8
                    6: 12
                    7: 17
                    8: 22
              default: 27
          }
        12: .line 1246
      StackMap locals: int
      StackMap stack:
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
            aload 2 /* to */
            invokevirtual sun.invoke.util.Wrapper.ordinal:()I
            iaload
            tableswitch { // 7 - 8
                    7: 13
                    8: 14
              default: 15
          }
        13: .line 1247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1249
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* error */
        16: .line 1251
            goto 28
        17: .line 1253
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
            aload 2 /* to */
            invokevirtual sun.invoke.util.Wrapper.ordinal:()I
            iaload
            tableswitch { // 6 - 8
                    6: 18
                    7: 20
                    8: 19
              default: 20
          }
        18: .line 1254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1256
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* error */
        21: .line 1258
            goto 28
        22: .line 1260
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
            aload 2 /* to */
            invokevirtual sun.invoke.util.Wrapper.ordinal:()I
            iaload
            tableswitch { // 6 - 7
                    6: 23
                    7: 24
              default: 25
          }
        23: .line 1261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1263
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* error */
        26: .line 1265
            goto 28
        27: .line 1267
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* error */
        28: .line 1270
      StackMap locals:
      StackMap stack:
            iload 3 /* error */
            ifeq 30
        29: .line 1271
            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 /* from */
            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 /* to */
            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 // boolean error
        30: .line 1275
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.invoke.util.Wrapper to
        end local 1 // sun.invoke.util.Wrapper from
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // sun.invoke.util.Wrapper type
         0: .line 1278
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
            aload 1 /* type */
            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: .line 1279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1282
      StackMap locals:
      StackMap stack:
            goto 12
         5: .line 1283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1289
            aload 0 /* this */
            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: .line 1290
            goto 12
        11: .line 1291
      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 /* type */
            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: .line 1293
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.invoke.util.Wrapper type
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // sun.invoke.util.Wrapper type
         0: .line 1296
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
            aload 1 /* type */
            invokevirtual sun.invoke.util.Wrapper.ordinal:()I
            iaload
            tableswitch { // 6 - 8
                    6: 1
                    7: 2
                    8: 3
              default: 4
          }
         1: .line 1297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1300
      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 /* type */
            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: .line 1302
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.invoke.util.Wrapper type
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/invoke/MemberName;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.String sig
         0: .line 1308
            getstatic java.lang.invoke.InvokerBytecodeGenerator.$assertionsDisabled:Z
            ifne 1
            aload 0 /* sig */
            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: .line 1309
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "interpret_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* sig */
            invokestatic java.lang.invoke.LambdaForm.signatureReturn:(Ljava/lang/String;)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 1 /* name */
        start local 1 // java.lang.String name
         2: .line 1310
            aload 0 /* sig */
            invokestatic java.lang.invoke.LambdaForm.signatureType:(Ljava/lang/String;)Ljava/lang/invoke/MethodType;
            astore 2 /* type */
        start local 2 // java.lang.invoke.MethodType type
         3: .line 1311
            aload 2 /* type */
            iconst_0
            ldc Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 2 /* type */
         4: .line 1312
            new java.lang.invoke.InvokerBytecodeGenerator
            dup
            ldc "LFI"
            aload 1 /* name */
            aload 2 /* type */
            invokespecial java.lang.invoke.InvokerBytecodeGenerator.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
            astore 3 /* g */
        start local 3 // java.lang.invoke.InvokerBytecodeGenerator g
         5: .line 1313
            aload 3 /* g */
            aload 3 /* g */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.generateLambdaFormInterpreterEntryPointBytes:()[B
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.loadMethod:([B)Ljava/lang/invoke/MemberName;
            areturn
        end local 3 // java.lang.invoke.InvokerBytecodeGenerator g
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.String name
        end local 0 // java.lang.String sig
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   sig  Ljava/lang/String;
            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
      sig   

  private byte[] generateLambdaFormInterpreterEntryPointBytes();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
         0: .line 1317
            aload 0 /* this */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.classFilePrologue:()V
         1: .line 1320
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            ldc "Ljava/lang/invoke/LambdaForm$Hidden;"
            iconst_1
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
            pop
         2: .line 1323
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            ldc "Ljava/lang/invoke/DontInline;"
            iconst_1
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
            pop
         3: .line 1326
            aload 0 /* this */
            aload 0 /* this */
            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
         4: .line 1327
            aload 0 /* this */
            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
         5: .line 1330
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         6: goto 15
         7: .line 1331
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
            iload 1 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 2 /* ptype */
        start local 2 // java.lang.Class ptype
         8: .line 1332
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            bipush 89
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         9: .line 1333
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
        10: .line 1334
            aload 0 /* this */
            aload 2 /* ptype */
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            iload 1 /* i */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitLoadInsn:(Ljava/lang/invoke/LambdaForm$BasicType;I)V
        11: .line 1336
            aload 2 /* ptype */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 13
        12: .line 1337
            aload 0 /* this */
            aload 2 /* ptype */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitBoxing:(Lsun/invoke/util/Wrapper;)V
        13: .line 1339
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            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 // java.lang.Class ptype
        14: .line 1330
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 1 /* i */
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            if_icmplt 7
        end local 1 // int i
        16: .line 1342
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAloadInsn:(I)V
        17: .line 1343
            aload 0 /* this */
            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
        18: .line 1344
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            bipush 95
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        19: .line 1345
            aload 0 /* this */
            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
        20: .line 1348
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 1 /* rtype */
        start local 1 // java.lang.Class rtype
        21: .line 1349
            aload 1 /* rtype */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 23
            aload 1 /* rtype */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 23
        22: .line 1350
            aload 0 /* this */
            aload 1 /* rtype */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitUnboxing:(Lsun/invoke/util/Wrapper;)V
        23: .line 1354
      StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rtype */
            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
        24: .line 1356
            aload 0 /* this */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.classFileEpilogue:()V
        25: .line 1357
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.invokerType:Ljava/lang/invoke/MethodType;
            aastore
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.bogusMethod:([Ljava/lang/Object;)V
        26: .line 1359
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
            invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
            astore 2 /* classFile */
        start local 2 // byte[] classFile
        27: .line 1360
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.className:Ljava/lang/String;
            aload 2 /* classFile */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.maybeDump:(Ljava/lang/String;[B)V
        28: .line 1361
            aload 2 /* classFile */
            areturn
        end local 2 // byte[] classFile
        end local 1 // java.lang.Class rtype
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   29     0       this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            6   16     1          i  I
            8   14     2      ptype  Ljava/lang/Class<*>;
           21   29     1      rtype  Ljava/lang/Class<*>;
           27   29     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 // java.lang.invoke.MethodTypeForm typeForm
         0: .line 1368
            getstatic java.lang.invoke.LambdaForm$NamedFunction.INVOKER_METHOD_TYPE:Ljava/lang/invoke/MethodType;
            astore 1 /* invokerType */
        start local 1 // java.lang.invoke.MethodType invokerType
         1: .line 1369
            new java.lang.StringBuilder
            dup
            ldc "invoke_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* typeForm */
            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 /* invokerName */
        start local 2 // java.lang.String invokerName
         2: .line 1370
            new java.lang.invoke.InvokerBytecodeGenerator
            dup
            ldc "NFI"
            aload 2 /* invokerName */
            aload 1 /* invokerType */
            invokespecial java.lang.invoke.InvokerBytecodeGenerator.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
            astore 3 /* g */
        start local 3 // java.lang.invoke.InvokerBytecodeGenerator g
         3: .line 1371
            aload 3 /* g */
            aload 3 /* g */
            aload 0 /* typeForm */
            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 // java.lang.invoke.InvokerBytecodeGenerator g
        end local 2 // java.lang.String invokerName
        end local 1 // java.lang.invoke.MethodType invokerType
        end local 0 // java.lang.invoke.MethodTypeForm typeForm
      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 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.invoke.MethodTypeForm typeForm
         0: .line 1375
            aload 1 /* typeForm */
            invokevirtual java.lang.invoke.MethodTypeForm.erasedType:()Ljava/lang/invoke/MethodType;
            astore 2 /* dstType */
        start local 2 // java.lang.invoke.MethodType dstType
         1: .line 1376
            aload 0 /* this */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.classFilePrologue:()V
         2: .line 1379
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            ldc "Ljava/lang/invoke/LambdaForm$Hidden;"
            iconst_1
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
            pop
         3: .line 1382
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            ldc "Ljava/lang/invoke/ForceInline;"
            iconst_1
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
            pop
         4: .line 1385
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAloadInsn:(I)V
         5: .line 1388
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 20
         7: .line 1389
      StackMap locals: java.lang.invoke.MethodType int
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitAloadInsn:(I)V
         8: .line 1390
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitIconstInsn:(I)V
         9: .line 1391
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            bipush 50
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        10: .line 1394
            aload 2 /* dstType */
            iload 3 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 4 /* dptype */
        start local 4 // java.lang.Class dptype
        11: .line 1395
            aload 4 /* dptype */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 19
        12: .line 1396
            aload 2 /* dstType */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.wrap:()Ljava/lang/invoke/MethodType;
            iload 3 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            pop
        13: .line 1397
            aload 4 /* dptype */
            invokestatic sun.invoke.util.Wrapper.forBasicType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            astore 5 /* dstWrapper */
        start local 5 // sun.invoke.util.Wrapper dstWrapper
        14: .line 1398
            aload 5 /* dstWrapper */
            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 /* dstWrapper */
      StackMap locals:
      StackMap stack: sun.invoke.util.Wrapper
        16: astore 6 /* srcWrapper */
        start local 6 // sun.invoke.util.Wrapper srcWrapper
        17: .line 1399
            aload 0 /* this */
            aload 6 /* srcWrapper */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitUnboxing:(Lsun/invoke/util/Wrapper;)V
        18: .line 1400
            aload 0 /* this */
            aload 6 /* srcWrapper */
            aload 5 /* dstWrapper */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPrimCast:(Lsun/invoke/util/Wrapper;Lsun/invoke/util/Wrapper;)V
        end local 6 // sun.invoke.util.Wrapper srcWrapper
        end local 5 // sun.invoke.util.Wrapper dstWrapper
        end local 4 // java.lang.Class dptype
        19: .line 1388
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            aload 2 /* dstType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            if_icmplt 7
        end local 3 // int i
        21: .line 1405
            aload 2 /* dstType */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
            astore 3 /* targetDesc */
        start local 3 // java.lang.String targetDesc
        22: .line 1406
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 182
            ldc "java/lang/invoke/MethodHandle"
            ldc "invokeBasic"
            aload 3 /* targetDesc */
            iconst_0
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        23: .line 1409
            aload 2 /* dstType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 4 /* rtype */
        start local 4 // java.lang.Class rtype
        24: .line 1410
            aload 4 /* rtype */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 31
            aload 4 /* rtype */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 31
        25: .line 1411
            aload 4 /* rtype */
            invokestatic sun.invoke.util.Wrapper.forBasicType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            astore 5 /* srcWrapper */
        start local 5 // sun.invoke.util.Wrapper srcWrapper
        26: .line 1412
            aload 5 /* srcWrapper */
            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 /* srcWrapper */
      StackMap locals:
      StackMap stack: sun.invoke.util.Wrapper
        28: astore 6 /* dstWrapper */
        start local 6 // sun.invoke.util.Wrapper dstWrapper
        29: .line 1414
            aload 0 /* this */
            aload 5 /* srcWrapper */
            aload 6 /* dstWrapper */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitPrimCast:(Lsun/invoke/util/Wrapper;Lsun/invoke/util/Wrapper;)V
        30: .line 1415
            aload 0 /* this */
            aload 6 /* dstWrapper */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.emitBoxing:(Lsun/invoke/util/Wrapper;)V
        end local 6 // sun.invoke.util.Wrapper dstWrapper
        end local 5 // sun.invoke.util.Wrapper srcWrapper
        31: .line 1419
      StackMap locals:
      StackMap stack:
            aload 4 /* rtype */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 33
        32: .line 1420
            aload 0 /* this */
            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: .line 1422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1424
            aload 0 /* this */
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.classFileEpilogue:()V
        35: .line 1425
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* dstType */
            aastore
            invokevirtual java.lang.invoke.InvokerBytecodeGenerator.bogusMethod:([Ljava/lang/Object;)V
        36: .line 1427
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.cw:Ljdk/internal/org/objectweb/asm/ClassWriter;
            invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
            astore 5 /* classFile */
        start local 5 // byte[] classFile
        37: .line 1428
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.className:Ljava/lang/String;
            aload 5 /* classFile */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.maybeDump:(Ljava/lang/String;[B)V
        38: .line 1429
            aload 5 /* classFile */
            areturn
        end local 5 // byte[] classFile
        end local 4 // java.lang.Class rtype
        end local 3 // java.lang.String targetDesc
        end local 2 // java.lang.invoke.MethodType dstType
        end local 1 // java.lang.invoke.MethodTypeForm typeForm
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      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;
            6   21     3           i  I
           11   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: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // java.lang.invoke.InvokerBytecodeGenerator this
        start local 1 // java.lang.Object[] os
         0: .line 1437
            getstatic java.lang.invoke.MethodHandleStatics.DUMP_CLASS_FILES:Z
            ifeq 11
         1: .line 1438
            aload 0 /* this */
            aload 0 /* this */
            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: .line 1439
            aload 1 /* os */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.Object[] top int int java.lang.Object[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* o */
        start local 2 // java.lang.Object o
         4: .line 1440
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            aload 2 /* o */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
         5: .line 1441
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            bipush 87
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        end local 2 // java.lang.Object o
         6: .line 1439
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 3
         8: .line 1443
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            sipush 177
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         9: .line 1444
            aload 0 /* this */
            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
        10: .line 1445
            aload 0 /* this */
            getfield java.lang.invoke.InvokerBytecodeGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
        11: .line 1447
      StackMap locals: java.lang.invoke.InvokerBytecodeGenerator java.lang.Object[]
      StackMap stack:
            return
        end local 1 // java.lang.Object[] os
        end local 0 // java.lang.invoke.InvokerBytecodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/lang/invoke/InvokerBytecodeGenerator;
            0   12     1    os  [Ljava/lang/Object;
            4    6     2     o  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: .line 49
            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: .line 49
            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$MethodHandleImpl$Intrinsic();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 49
            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_LOAD:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.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.MethodHandleImpl$Intrinsic.ARRAY_STORE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
            iconst_5
            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.GUARD_WITH_CATCH:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.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.MethodHandleImpl$Intrinsic.IDENTITY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.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.MethodHandleImpl$Intrinsic.NEW_ARRAY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
            iconst_3
            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.NONE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
            bipush 8
            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.SELECT_ALTERNATIVE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
            iconst_1
            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.ZERO:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokevirtual java.lang.invoke.MethodHandleImpl$Intrinsic.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: 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
}
SourceFile: "InvokerBytecodeGenerator.java"
NestMembers:
  java.lang.invoke.InvokerBytecodeGenerator$1  java.lang.invoke.InvokerBytecodeGenerator$CpPatch
InnerClasses:
  java.lang.invoke.InvokerBytecodeGenerator$1
  CpPatch = java.lang.invoke.InvokerBytecodeGenerator$CpPatch of java.lang.invoke.InvokerBytecodeGenerator
  final BasicType = java.lang.invoke.LambdaForm$BasicType 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