final class jdk.jfr.internal.ASMToolkit
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.ASMToolkit
  super_class: java.lang.Object
{
  private static jdk.internal.org.objectweb.asm.Type TYPE_STRING;
    descriptor: Ljdk/internal/org/objectweb/asm/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static jdk.internal.org.objectweb.asm.Type Type_THREAD;
    descriptor: Ljdk/internal/org/objectweb/asm/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static jdk.internal.org.objectweb.asm.Type TYPE_CLASS;
    descriptor: Ljdk/internal/org/objectweb/asm/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 42
            ldc Ljava/lang/String;
            invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
            putstatic jdk.jfr.internal.ASMToolkit.TYPE_STRING:Ljdk/internal/org/objectweb/asm/Type;
         1: .line 43
            ldc Ljava/lang/Thread;
            invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
            putstatic jdk.jfr.internal.ASMToolkit.Type_THREAD:Ljdk/internal/org/objectweb/asm/Type;
         2: .line 44
            ldc Ljava/lang/Class;
            invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
            putstatic jdk.jfr.internal.ASMToolkit.TYPE_CLASS:Ljdk/internal/org/objectweb/asm/Type;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.ASMToolkit this
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.jfr.internal.ASMToolkit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/ASMToolkit;

  public static void invokeSpecial(jdk.internal.org.objectweb.asm.MethodVisitor, java.lang.String, jdk.internal.org.objectweb.asm.commons.Method);
    descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/commons/Method;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // jdk.internal.org.objectweb.asm.MethodVisitor methodVisitor
        start local 1 // java.lang.String className
        start local 2 // jdk.internal.org.objectweb.asm.commons.Method m
         0: .line 47
            aload 0 /* methodVisitor */
            sipush 183
            aload 1 /* className */
            aload 2 /* m */
            invokevirtual jdk.internal.org.objectweb.asm.commons.Method.getName:()Ljava/lang/String;
            aload 2 /* m */
            invokevirtual jdk.internal.org.objectweb.asm.commons.Method.getDescriptor:()Ljava/lang/String;
            iconst_0
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 48
            return
        end local 2 // jdk.internal.org.objectweb.asm.commons.Method m
        end local 1 // java.lang.String className
        end local 0 // jdk.internal.org.objectweb.asm.MethodVisitor methodVisitor
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0  methodVisitor  Ljdk/internal/org/objectweb/asm/MethodVisitor;
            0    2     1      className  Ljava/lang/String;
            0    2     2              m  Ljdk/internal/org/objectweb/asm/commons/Method;
    MethodParameters:
               Name  Flags
      methodVisitor  
      className      
      m              

  public static void invokeStatic(jdk.internal.org.objectweb.asm.MethodVisitor, java.lang.String, jdk.internal.org.objectweb.asm.commons.Method);
    descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/commons/Method;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // jdk.internal.org.objectweb.asm.MethodVisitor methodVisitor
        start local 1 // java.lang.String className
        start local 2 // jdk.internal.org.objectweb.asm.commons.Method m
         0: .line 51
            aload 0 /* methodVisitor */
            sipush 184
            aload 1 /* className */
            aload 2 /* m */
            invokevirtual jdk.internal.org.objectweb.asm.commons.Method.getName:()Ljava/lang/String;
            aload 2 /* m */
            invokevirtual jdk.internal.org.objectweb.asm.commons.Method.getDescriptor:()Ljava/lang/String;
            iconst_0
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 52
            return
        end local 2 // jdk.internal.org.objectweb.asm.commons.Method m
        end local 1 // java.lang.String className
        end local 0 // jdk.internal.org.objectweb.asm.MethodVisitor methodVisitor
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0  methodVisitor  Ljdk/internal/org/objectweb/asm/MethodVisitor;
            0    2     1      className  Ljava/lang/String;
            0    2     2              m  Ljdk/internal/org/objectweb/asm/commons/Method;
    MethodParameters:
               Name  Flags
      methodVisitor  
      className      
      m              

  public static void invokeVirtual(jdk.internal.org.objectweb.asm.MethodVisitor, java.lang.String, jdk.internal.org.objectweb.asm.commons.Method);
    descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/commons/Method;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // jdk.internal.org.objectweb.asm.MethodVisitor methodVisitor
        start local 1 // java.lang.String className
        start local 2 // jdk.internal.org.objectweb.asm.commons.Method m
         0: .line 55
            aload 0 /* methodVisitor */
            sipush 182
            aload 1 /* className */
            aload 2 /* m */
            invokevirtual jdk.internal.org.objectweb.asm.commons.Method.getName:()Ljava/lang/String;
            aload 2 /* m */
            invokevirtual jdk.internal.org.objectweb.asm.commons.Method.getDescriptor:()Ljava/lang/String;
            iconst_0
            invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 56
            return
        end local 2 // jdk.internal.org.objectweb.asm.commons.Method m
        end local 1 // java.lang.String className
        end local 0 // jdk.internal.org.objectweb.asm.MethodVisitor methodVisitor
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0  methodVisitor  Ljdk/internal/org/objectweb/asm/MethodVisitor;
            0    2     1      className  Ljava/lang/String;
            0    2     2              m  Ljdk/internal/org/objectweb/asm/commons/Method;
    MethodParameters:
               Name  Flags
      methodVisitor  
      className      
      m              

  public static jdk.internal.org.objectweb.asm.Type toType(jdk.jfr.ValueDescriptor);
    descriptor: (Ljdk/jfr/ValueDescriptor;)Ljdk/internal/org/objectweb/asm/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.jfr.ValueDescriptor v
         0: .line 60
            aload 0 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.getTypeName:()Ljava/lang/String;
            astore 1 /* typeName */
        start local 1 // java.lang.String typeName
         1: .line 62
            aload 1 /* typeName */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 11
          -1325958191: 2
           -530663260: 3
               104431: 4
              3039496: 5
              3052374: 6
              3327612: 7
             64711720: 8
             97526364: 9
            109413500: 10
           1195259493: 11
           1212802142: 12
              default: 24
          }
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         2: aload 2
            ldc "double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 24
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "java.lang.Class"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 24
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "int"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 24
      StackMap locals:
      StackMap stack:
         5: aload 2
            ldc "byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 24
      StackMap locals:
      StackMap stack:
         6: aload 2
            ldc "char"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 24
      StackMap locals:
      StackMap stack:
         7: aload 2
            ldc "long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 24
      StackMap locals:
      StackMap stack:
         8: aload 2
            ldc "boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 20
            goto 24
      StackMap locals:
      StackMap stack:
         9: aload 2
            ldc "float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 24
      StackMap locals:
      StackMap stack:
        10: aload 2
            ldc "short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            goto 24
      StackMap locals:
      StackMap stack:
        11: aload 2
            ldc "java.lang.String"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 24
      StackMap locals:
      StackMap stack:
        12: aload 2
            ldc "java.lang.Thread"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            goto 24
        13: .line 64
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.org.objectweb.asm.Type.BYTE_TYPE:Ljdk/internal/org/objectweb/asm/Type;
            areturn
        14: .line 66
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.org.objectweb.asm.Type.SHORT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
            areturn
        15: .line 68
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.org.objectweb.asm.Type.INT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
            areturn
        16: .line 70
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.org.objectweb.asm.Type.LONG_TYPE:Ljdk/internal/org/objectweb/asm/Type;
            areturn
        17: .line 72
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.org.objectweb.asm.Type.DOUBLE_TYPE:Ljdk/internal/org/objectweb/asm/Type;
            areturn
        18: .line 74
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.org.objectweb.asm.Type.FLOAT_TYPE:Ljdk/internal/org/objectweb/asm/Type;
            areturn
        19: .line 76
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.org.objectweb.asm.Type.CHAR_TYPE:Ljdk/internal/org/objectweb/asm/Type;
            areturn
        20: .line 78
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.org.objectweb.asm.Type.BOOLEAN_TYPE:Ljdk/internal/org/objectweb/asm/Type;
            areturn
        21: .line 80
      StackMap locals:
      StackMap stack:
            getstatic jdk.jfr.internal.ASMToolkit.TYPE_STRING:Ljdk/internal/org/objectweb/asm/Type;
            areturn
        22: .line 82
      StackMap locals:
      StackMap stack:
            getstatic jdk.jfr.internal.ASMToolkit.Type_THREAD:Ljdk/internal/org/objectweb/asm/Type;
            areturn
        23: .line 84
      StackMap locals:
      StackMap stack:
            getstatic jdk.jfr.internal.ASMToolkit.TYPE_CLASS:Ljdk/internal/org/objectweb/asm/Type;
            areturn
        24: .line 87
      StackMap locals:
      StackMap stack:
            new java.lang.Error
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not a valid type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.getTypeName:()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.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String typeName
        end local 0 // jdk.jfr.ValueDescriptor v
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0         v  Ljdk/jfr/ValueDescriptor;
            1   25     1  typeName  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      v     

  public static java.lang.String getDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String typeName
         0: .line 99
            ldc "int"
            aload 0 /* typeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 100
            ldc "I"
            areturn
         2: .line 102
      StackMap locals:
      StackMap stack:
            ldc "long"
            aload 0 /* typeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 103
            ldc "J"
            areturn
         4: .line 105
      StackMap locals:
      StackMap stack:
            ldc "boolean"
            aload 0 /* typeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 106
            ldc "Z"
            areturn
         6: .line 108
      StackMap locals:
      StackMap stack:
            ldc "float"
            aload 0 /* typeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 109
            ldc "F"
            areturn
         8: .line 111
      StackMap locals:
      StackMap stack:
            ldc "double"
            aload 0 /* typeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 112
            ldc "D"
            areturn
        10: .line 114
      StackMap locals:
      StackMap stack:
            ldc "short"
            aload 0 /* typeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 115
            ldc "S"
            areturn
        12: .line 117
      StackMap locals:
      StackMap stack:
            ldc "char"
            aload 0 /* typeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 118
            ldc "C"
            areturn
        14: .line 120
      StackMap locals:
      StackMap stack:
            ldc "byte"
            aload 0 /* typeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 121
            ldc "B"
            areturn
        16: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* typeName */
            invokestatic jdk.jfr.internal.ASMToolkit.getInternalName:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* internal */
        start local 1 // java.lang.String internal
        17: .line 124
            aload 1 /* internal */
            invokestatic jdk.internal.org.objectweb.asm.Type.getObjectType:(Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/Type;
            invokevirtual jdk.internal.org.objectweb.asm.Type.getDescriptor:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String internal
        end local 0 // java.lang.String typeName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0  typeName  Ljava/lang/String;
           17   18     1  internal  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      typeName  

  public static java.lang.String getInternalName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String className
         0: .line 135
            aload 0 /* className */
            ldc "."
            ldc "/"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  public static jdk.internal.org.objectweb.asm.commons.Method makeWriteMethod(java.util.List<jdk.jfr.internal.EventInstrumentation$FieldInfo>);
    descriptor: (Ljava/util/List;)Ljdk/internal/org/objectweb/asm/commons/Method;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.util.List fields
         0: .line 139
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 140
            aload 1 /* sb */
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 141
            aload 0 /* fields */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: java.util.List java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.internal.EventInstrumentation$FieldInfo
            astore 2 /* v */
        start local 2 // jdk.jfr.internal.EventInstrumentation$FieldInfo v
         4: .line 142
            aload 2 /* v */
            getfield jdk.jfr.internal.EventInstrumentation$FieldInfo.fieldName:Ljava/lang/String;
            ldc "eventThread"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            aload 2 /* v */
            getfield jdk.jfr.internal.EventInstrumentation$FieldInfo.fieldName:Ljava/lang/String;
            ldc "stackTrace"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 143
            aload 1 /* sb */
            aload 2 /* v */
            getfield jdk.jfr.internal.EventInstrumentation$FieldInfo.fieldDescriptor:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // jdk.jfr.internal.EventInstrumentation$FieldInfo v
         6: .line 141
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 146
            aload 1 /* sb */
            ldc ")V"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 147
            new jdk.internal.org.objectweb.asm.commons.Method
            dup
            ldc "write"
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.internal.org.objectweb.asm.commons.Method.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // java.util.List fields
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  fields  Ljava/util/List<Ljdk/jfr/internal/EventInstrumentation$FieldInfo;>;
            1    9     1      sb  Ljava/lang/StringBuilder;
            4    6     2       v  Ljdk/jfr/internal/EventInstrumentation$FieldInfo;
    Signature: (Ljava/util/List<Ljdk/jfr/internal/EventInstrumentation$FieldInfo;>;)Ljdk/internal/org/objectweb/asm/commons/Method;
    MethodParameters:
        Name  Flags
      fields  

  public static void logASM(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.lang.String className
        start local 1 // byte[] bytes
         0: .line 151
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_BYTECODE:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Generated bytecode for class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
         1: .line 152
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_BYTECODE:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.TRACE:Ljdk/jfr/internal/LogLevel;
            invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
            ifeq 8
         2: .line 153
            new jdk.internal.org.objectweb.asm.ClassReader
            dup
            aload 1 /* bytes */
            invokespecial jdk.internal.org.objectweb.asm.ClassReader.<init>:([B)V
            astore 2 /* cr */
        start local 2 // jdk.internal.org.objectweb.asm.ClassReader cr
         3: .line 154
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 3 /* baos */
        start local 3 // java.io.ByteArrayOutputStream baos
         4: .line 155
            new java.io.PrintWriter
            dup
            aload 3 /* baos */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* w */
        start local 4 // java.io.PrintWriter w
         5: .line 156
            aload 4 /* w */
            ldc "Bytecode:"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         6: .line 157
            aload 2 /* cr */
            new jdk.internal.org.objectweb.asm.util.TraceClassVisitor
            dup
            aload 4 /* w */
            invokespecial jdk.internal.org.objectweb.asm.util.TraceClassVisitor.<init>:(Ljava/io/PrintWriter;)V
            iconst_0
            invokevirtual jdk.internal.org.objectweb.asm.ClassReader.accept:(Ljdk/internal/org/objectweb/asm/ClassVisitor;I)V
         7: .line 158
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_BYTECODE:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.TRACE:Ljdk/jfr/internal/LogLevel;
            aload 3 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        end local 4 // java.io.PrintWriter w
        end local 3 // java.io.ByteArrayOutputStream baos
        end local 2 // jdk.internal.org.objectweb.asm.ClassReader cr
         8: .line 160
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] bytes
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0  className  Ljava/lang/String;
            0    9     1      bytes  [B
            3    8     2         cr  Ljdk/internal/org/objectweb/asm/ClassReader;
            4    8     3       baos  Ljava/io/ByteArrayOutputStream;
            5    8     4          w  Ljava/io/PrintWriter;
    MethodParameters:
           Name  Flags
      className  
      bytes      
}
SourceFile: "ASMToolkit.java"
InnerClasses:
  final FieldInfo = jdk.jfr.internal.EventInstrumentation$FieldInfo of jdk.jfr.internal.EventInstrumentation