public class com.oracle.svm.core.SubstrateUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.core.SubstrateUtil
  super_class: java.lang.Object
{
  public static final boolean HOSTED;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern SAFE_SHELL_ARG;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile boolean diagnosticsInProgress;
    descriptor: Z
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static final com.oracle.svm.core.stack.ThreadStackPrinter$Stage0StackFramePrintVisitor[] PRINT_VISITORS;
    descriptor: [Lcom/oracle/svm/core/stack/ThreadStackPrinter$Stage0StackFramePrintVisitor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 91
            ldc Lcom/oracle/svm/core/SubstrateUtil;
            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 com.oracle.svm.core.SubstrateUtil.$assertionsDisabled:Z
         3: .line 104
            iconst_1
            putstatic com.oracle.svm.core.SubstrateUtil.HOSTED:Z
         4: .line 140
            ldc "[A-Za-z0-9@%_\\-+=:,./]+"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic com.oracle.svm.core.SubstrateUtil.SAFE_SHELL_ARG:Ljava/util/regex/Pattern;
         5: .line 277
            iconst_0
            putstatic com.oracle.svm.core.SubstrateUtil.diagnosticsInProgress:Z
         6: .line 554
            iconst_3
            anewarray com.oracle.svm.core.stack.ThreadStackPrinter$Stage0StackFramePrintVisitor
            dup
            iconst_0
            getstatic com.oracle.svm.core.stack.ThreadStackPrinter$Stage0StackFramePrintVisitor.SINGLETON:Lcom/oracle/svm/core/stack/ThreadStackPrinter$Stage0StackFramePrintVisitor;
            aastore
            dup
            iconst_1
            getstatic com.oracle.svm.core.stack.ThreadStackPrinter$Stage1StackFramePrintVisitor.SINGLETON:Lcom/oracle/svm/core/stack/ThreadStackPrinter$Stage1StackFramePrintVisitor;
            aastore
            dup
            iconst_2
         7: .line 555
            getstatic com.oracle.svm.core.stack.ThreadStackPrinter$StackFramePrintVisitor.SINGLETON:Lcom/oracle/svm/core/stack/ThreadStackPrinter$StackFramePrintVisitor;
            aastore
         8: .line 554
            putstatic com.oracle.svm.core.SubstrateUtil.PRINT_VISITORS:[Lcom/oracle/svm/core/stack/ThreadStackPrinter$Stage0StackFramePrintVisitor;
         9: .line 555
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.SubstrateUtil this
         0: .line 91
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.svm.core.SubstrateUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/SubstrateUtil;

  public static java.lang.String getArchitectureName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 108
            ldc "os.arch"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* arch */
        start local 0 // java.lang.String arch
         1: .line 109
            aload 0 /* arch */
            dup
            astore 1
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
          -2011717608: 2
           -806050265: 3
             93084186: 4
              default: 10
          }
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         2: aload 1
            ldc "sparcv9"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 10
      StackMap locals:
      StackMap stack:
         3: aload 1
            ldc "x86_64"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 10
      StackMap locals:
      StackMap stack:
         4: aload 1
            ldc "arm64"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 10
         5: .line 111
      StackMap locals:
      StackMap stack:
            ldc "amd64"
            astore 0 /* arch */
         6: .line 112
            goto 10
         7: .line 114
      StackMap locals:
      StackMap stack:
            ldc "aarch64"
            astore 0 /* arch */
         8: .line 115
            goto 10
         9: .line 117
      StackMap locals:
      StackMap stack:
            ldc "sparc"
            astore 0 /* arch */
        10: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* arch */
            areturn
        end local 0 // java.lang.String arch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   11     0  arch  Ljava/lang/String;

  public static boolean isBuildingLibgraal();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 127
            getstatic jdk.vm.ci.services.Services.IS_BUILDING_NATIVE_IMAGE:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isInLibgraal();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 134
            getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String quoteShellArg(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String arg
         0: .line 146
            aload 0 /* arg */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 147
            ldc "''"
            areturn
         2: .line 149
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.SubstrateUtil.SAFE_SHELL_ARG:Ljava/util/regex/Pattern;
            aload 0 /* arg */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 1 /* m */
        start local 1 // java.util.regex.Matcher m
         3: .line 150
            aload 1 /* m */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 5
         4: .line 151
            aload 0 /* arg */
            areturn
         5: .line 153
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* arg */
            ldc "'"
            ldc "'\"'\"'"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)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;
            areturn
        end local 1 // java.util.regex.Matcher m
        end local 0 // java.lang.String arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   arg  Ljava/lang/String;
            3    6     1     m  Ljava/util/regex/Matcher;
    MethodParameters:
      Name  Flags
      arg   

  public static java.lang.String getShellCommandString(java.util.List<java.lang.String>, boolean);
    descriptor: (Ljava/util/List;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.List cmd
        start local 1 // boolean multiLine
         0: .line 157
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 158
            aload 0 /* cmd */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: java.util.List int java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* arg */
        start local 3 // java.lang.String arg
         3: .line 159
            aload 2 /* sb */
            aload 3 /* arg */
            invokestatic com.oracle.svm.core.SubstrateUtil.quoteShellArg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 160
            iload 1 /* multiLine */
            ifeq 7
         5: .line 161
            aload 2 /* sb */
            ldc " \\\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 162
            goto 8
         7: .line 163
      StackMap locals: java.util.List int java.lang.StringBuilder java.lang.String java.util.Iterator
      StackMap stack:
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.String arg
         8: .line 158
      StackMap locals: java.util.List int java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 166
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // boolean multiLine
        end local 0 // java.util.List cmd
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0        cmd  Ljava/util/List<Ljava/lang/String;>;
            0   10     1  multiLine  Z
            1   10     2         sb  Ljava/lang/StringBuilder;
            3    8     3        arg  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Z)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      cmd        
      multiLine  

  public static java.io.FileDescriptor getFileDescriptor(java.io.FileOutputStream);
    descriptor: (Ljava/io/FileOutputStream;)Ljava/io/FileDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.FileOutputStream out
         0: .line 183
            aload 0 /* out */
            ldc Lcom/oracle/svm/core/SubstrateUtil$Target_java_io_FileOutputStream;
            invokestatic com.oracle.svm.core.SubstrateUtil.cast:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.SubstrateUtil$Target_java_io_FileOutputStream
            getfield com.oracle.svm.core.SubstrateUtil$Target_java_io_FileOutputStream.fd:Ljava/io/FileDescriptor;
            areturn
        end local 0 // java.io.FileOutputStream out
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   out  Ljava/io/FileOutputStream;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
      Name  Flags
      out   

  public static java.lang.String[] getArgs(int, org.graalvm.nativeimage.c.type.CCharPointerPointer);
    descriptor: (ILorg/graalvm/nativeimage/c/type/CCharPointerPointer;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // int argc
        start local 1 // org.graalvm.nativeimage.c.type.CCharPointerPointer argv
         0: .line 196
            iload 0 /* argc */
            iconst_1
            isub
            anewarray java.lang.String
            astore 2 /* args */
        start local 2 // java.lang.String[] args
         1: .line 197
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 198
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 2 /* args */
            iload 3 /* i */
            iconst_1
            isub
            aload 1 /* argv */
            iload 3 /* i */
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointerPointer.read:(I)Lorg/graalvm/nativeimage/c/type/CCharPointer;
            invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.toJavaString:(Lorg/graalvm/nativeimage/c/type/CCharPointer;)Ljava/lang/String;
            aastore
         4: .line 197
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 0 /* argc */
            if_icmplt 3
        end local 3 // int i
         6: .line 200
            aload 2 /* args */
            areturn
        end local 2 // java.lang.String[] args
        end local 1 // org.graalvm.nativeimage.c.type.CCharPointerPointer argv
        end local 0 // int argc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  argc  I
            0    7     1  argv  Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
            1    7     2  args  [Ljava/lang/String;
            2    6     3     i  I
    MethodParameters:
      Name  Flags
      argc  
      argv  

  public static org.graalvm.word.UnsignedWord strlen(org.graalvm.nativeimage.c.type.CCharPointer);
    descriptor: (Lorg/graalvm/nativeimage/c/type/CCharPointer;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.nativeimage.c.type.CCharPointer str
         0: .line 208
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.UnsignedWord
            astore 1 /* n */
        start local 1 // org.graalvm.word.UnsignedWord n
         1: .line 209
            goto 3
         2: .line 210
      StackMap locals: org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 1 /* n */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* n */
         3: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            checkcast org.graalvm.word.Pointer
            aload 1 /* n */
            invokeinterface org.graalvm.word.Pointer.readByte:(Lorg/graalvm/word/WordBase;)B
            ifne 2
         4: .line 212
            aload 1 /* n */
            areturn
        end local 1 // org.graalvm.word.UnsignedWord n
        end local 0 // org.graalvm.nativeimage.c.type.CCharPointer str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   str  Lorg/graalvm/nativeimage/c/type/CCharPointer;
            1    5     1     n  Lorg/graalvm/word/UnsignedWord;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
      Name  Flags
      str   

  public static org.graalvm.nativeimage.c.type.CCharPointer strchr(org.graalvm.nativeimage.c.type.CCharPointer, int);
    descriptor: (Lorg/graalvm/nativeimage/c/type/CCharPointer;I)Lorg/graalvm/nativeimage/c/type/CCharPointer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.nativeimage.c.type.CCharPointer str
        start local 1 // int c
         0: .line 220
            iconst_0
            istore 2 /* index */
        start local 2 // int index
         1: .line 222
      StackMap locals: int
      StackMap stack:
            aload 0 /* str */
            iload 2 /* index */
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.read:(I)B
            istore 3 /* b */
        start local 3 // byte b
         2: .line 223
            iload 3 /* b */
            iload 1 /* c */
            if_icmpne 4
         3: .line 224
            aload 0 /* str */
            iload 2 /* index */
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.addressOf:(I)Lorg/graalvm/nativeimage/c/type/CCharPointer;
            areturn
         4: .line 226
      StackMap locals: int
      StackMap stack:
            iload 3 /* b */
            ifne 6
         5: .line 227
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.nativeimage.c.type.CCharPointer
            areturn
         6: .line 229
      StackMap locals:
      StackMap stack:
            iinc 2 /* index */ 1
        end local 3 // byte b
         7: .line 221
            goto 1
        end local 2 // int index
        end local 1 // int c
        end local 0 // org.graalvm.nativeimage.c.type.CCharPointer str
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0    str  Lorg/graalvm/nativeimage/c/type/CCharPointer;
            0    8     1      c  I
            1    8     2  index  I
            2    7     3      b  B
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
      Name  Flags
      str   
      c     

  public static <T> T cast(, java.lang.Class<T>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object obj
        start local 1 // java.lang.Class toType
         0: .line 245
            aload 0 /* obj */
            areturn
        end local 1 // java.lang.Class toType
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0     obj  Ljava/lang/Object;
            0    1     1  toType  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
        Name  Flags
      obj     
      toType  

  public static boolean assertionsEnabled();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 256
            iconst_0
            istore 0 /* assertionsEnabled */
        start local 0 // boolean assertionsEnabled
         1: .line 257
            getstatic com.oracle.svm.core.SubstrateUtil.$assertionsDisabled:Z
            ifne 2
            iconst_1
            dup
            istore 0 /* assertionsEnabled */
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 258
      StackMap locals: int
      StackMap stack:
            iload 0 /* assertionsEnabled */
            ireturn
        end local 0 // boolean assertionsEnabled
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            1    3     0  assertionsEnabled  Z
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  public static native void breakpoint(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/BreakpointNode;)
    MethodParameters:
      Name  Flags
      arg0  

  public static boolean isPowerOf2(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // long value
         0: .line 266
            lload 0 /* value */
            lload 0 /* value */
            lconst_1
            lsub
            land
            lconst_0
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  J
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
       Name  Flags
      value  

  public static boolean isPrintDiagnosticsInProgress();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 280
            getstatic com.oracle.svm.core.SubstrateUtil.diagnosticsInProgress:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void printDiagnostics(com.oracle.svm.core.log.Log, org.graalvm.word.Pointer, org.graalvm.nativeimage.c.function.CodePointer);
    descriptor: (Lcom/oracle/svm/core/log/Log;Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.svm.core.log.Log log
        start local 1 // org.graalvm.word.Pointer sp
        start local 2 // org.graalvm.nativeimage.c.function.CodePointer ip
         0: .line 285
            aload 0 /* log */
            aload 1 /* sp */
            aload 2 /* ip */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.RegisterDumper$Context
            invokestatic com.oracle.svm.core.SubstrateUtil.printDiagnostics:(Lcom/oracle/svm/core/log/Log;Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;Lcom/oracle/svm/core/RegisterDumper$Context;)V
         1: .line 286
            return
        end local 2 // org.graalvm.nativeimage.c.function.CodePointer ip
        end local 1 // org.graalvm.word.Pointer sp
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   log  Lcom/oracle/svm/core/log/Log;
            0    2     1    sp  Lorg/graalvm/word/Pointer;
            0    2     2    ip  Lorg/graalvm/nativeimage/c/function/CodePointer;
    MethodParameters:
      Name  Flags
      log   
      sp    
      ip    

  static void printDiagnostics(com.oracle.svm.core.log.Log, org.graalvm.word.Pointer, org.graalvm.nativeimage.c.function.CodePointer, com.oracle.svm.core.RegisterDumper$Context);
    descriptor: (Lcom/oracle/svm/core/log/Log;Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;Lcom/oracle/svm/core/RegisterDumper$Context;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // com.oracle.svm.core.log.Log log
        start local 1 // org.graalvm.word.Pointer sp
        start local 2 // org.graalvm.nativeimage.c.function.CodePointer ip
        start local 3 // com.oracle.svm.core.RegisterDumper$Context context
         0: .line 290
            aload 0 /* log */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 291
            getstatic com.oracle.svm.core.SubstrateUtil.diagnosticsInProgress:Z
            ifeq 5
         2: .line 292
            aload 0 /* log */
            ldc "Error: printDiagnostics already in progress."
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         3: .line 293
            aload 0 /* log */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 294
            return
         5: .line 296
      StackMap locals:
      StackMap stack:
            iconst_1
            putstatic com.oracle.svm.core.SubstrateUtil.diagnosticsInProgress:Z
         6: .line 299
            aload 0 /* log */
            aload 3 /* context */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpRegisters:(Lcom/oracle/svm/core/log/Log;Lcom/oracle/svm/core/RegisterDumper$Context;)V
         7: .line 300
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Exception
         8: astore 4 /* e */
        start local 4 // java.lang.Exception e
         9: .line 301
            aload 0 /* log */
            ldc "dumpRegisters"
            aload 4 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 4 // java.lang.Exception e
        10: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpJavaFrameAnchors:(Lcom/oracle/svm/core/log/Log;)V
        11: .line 306
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Exception
        12: astore 4 /* e */
        start local 4 // java.lang.Exception e
        13: .line 307
            aload 0 /* log */
            ldc "dumpJavaFrameAnchors"
            aload 4 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 4 // java.lang.Exception e
        14: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpDeoptStubPointer:(Lcom/oracle/svm/core/log/Log;)V
        15: .line 312
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Exception
        16: astore 4 /* e */
        start local 4 // java.lang.Exception e
        17: .line 313
            aload 0 /* log */
            ldc "dumpDeoptStubPointer"
            aload 4 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 4 // java.lang.Exception e
        18: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            aload 1 /* sp */
            aload 2 /* ip */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpTopFrame:(Lcom/oracle/svm/core/log/Log;Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;)V
        19: .line 318
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Exception
        20: astore 4 /* e */
        start local 4 // java.lang.Exception e
        21: .line 319
            aload 0 /* log */
            ldc "dumpTopFrame"
            aload 4 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 4 // java.lang.Exception e
        22: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpVMThreads:(Lcom/oracle/svm/core/log/Log;)V
        23: .line 324
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Exception
        24: astore 4 /* e */
        start local 4 // java.lang.Exception e
        25: .line 325
            aload 0 /* log */
            ldc "dumpVMThreads"
            aload 4 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 4 // java.lang.Exception e
        26: .line 328
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.nativeimage.CurrentIsolate.getCurrentThread:()Lorg/graalvm/nativeimage/IsolateThread;
            astore 4 /* currentThread */
        start local 4 // org.graalvm.nativeimage.IsolateThread currentThread
        27: .line 330
            aload 0 /* log */
            aload 4 /* currentThread */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpVMThreadState:(Lcom/oracle/svm/core/log/Log;Lorg/graalvm/nativeimage/IsolateThread;)V
        28: .line 331
            goto 31
      StackMap locals: com.oracle.svm.core.log.Log org.graalvm.word.Pointer org.graalvm.nativeimage.c.function.CodePointer com.oracle.svm.core.RegisterDumper$Context org.graalvm.nativeimage.IsolateThread
      StackMap stack: java.lang.Exception
        29: astore 5 /* e */
        start local 5 // java.lang.Exception e
        30: .line 332
            aload 0 /* log */
            ldc "dumpVMThreadState"
            aload 5 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 5 // java.lang.Exception e
        31: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpRecentVMOperations:(Lcom/oracle/svm/core/log/Log;)V
        32: .line 337
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Exception
        33: astore 5 /* e */
        start local 5 // java.lang.Exception e
        34: .line 338
            aload 0 /* log */
            ldc "dumpRecentVMOperations"
            aload 5 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 5 // java.lang.Exception e
        35: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpRuntimeCompilation:(Lcom/oracle/svm/core/log/Log;)V
        36: .line 344
            aload 0 /* log */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpCounters:(Lcom/oracle/svm/core/log/Log;)V
        37: .line 345
            goto 40
      StackMap locals:
      StackMap stack: java.lang.Exception
        38: astore 5 /* e */
        start local 5 // java.lang.Exception e
        39: .line 346
            aload 0 /* log */
            ldc "dumpCounters"
            aload 5 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 5 // java.lang.Exception e
        40: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            aload 1 /* sp */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpStacktraceRaw:(Lcom/oracle/svm/core/log/Log;Lorg/graalvm/word/Pointer;)V
        41: .line 351
            goto 44
      StackMap locals:
      StackMap stack: java.lang.Exception
        42: astore 5 /* e */
        start local 5 // java.lang.Exception e
        43: .line 352
            aload 0 /* log */
            ldc "dumpStacktraceRaw"
            aload 5 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 5 // java.lang.Exception e
        44: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            aload 1 /* sp */
            aload 2 /* ip */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpStacktrace:(Lcom/oracle/svm/core/log/Log;Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;)V
        45: .line 357
            invokestatic com.oracle.svm.core.thread.VMOperationControl.isFrozen:()Z
            ifeq 56
        46: .line 359
            invokestatic com.oracle.svm.core.thread.VMThreads.firstThreadUnsafe:()Lorg/graalvm/nativeimage/IsolateThread;
            astore 5 /* vmThread */
        start local 5 // org.graalvm.nativeimage.IsolateThread vmThread
        47: goto 55
        48: .line 360
      StackMap locals: org.graalvm.nativeimage.IsolateThread
      StackMap stack:
            aload 5 /* vmThread */
            invokestatic org.graalvm.nativeimage.CurrentIsolate.getCurrentThread:()Lorg/graalvm/nativeimage/IsolateThread;
            if_acmpne 50
        49: .line 361
            goto 54
        50: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            aload 5 /* vmThread */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpStacktrace:(Lcom/oracle/svm/core/log/Log;Lorg/graalvm/nativeimage/IsolateThread;)V
        51: .line 365
            goto 54
      StackMap locals:
      StackMap stack: java.lang.Exception
        52: astore 6 /* e */
        start local 6 // java.lang.Exception e
        53: .line 366
            aload 0 /* log */
            ldc "dumpStacktrace"
            aload 6 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 6 // java.lang.Exception e
        54: .line 359
      StackMap locals:
      StackMap stack:
            aload 5 /* vmThread */
            invokestatic com.oracle.svm.core.thread.VMThreads.nextThread:(Lorg/graalvm/nativeimage/IsolateThread;)Lorg/graalvm/nativeimage/IsolateThread;
            astore 5 /* vmThread */
      StackMap locals:
      StackMap stack:
        55: aload 5 /* vmThread */
            invokeinterface org.graalvm.nativeimage.IsolateThread.isNonNull:()Z
            ifne 48
        end local 5 // org.graalvm.nativeimage.IsolateThread vmThread
        56: .line 372
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.SubstrateUtil$DiagnosticThunkRegister.getSingleton:()Lcom/oracle/svm/core/SubstrateUtil$DiagnosticThunkRegister;
            aload 0 /* log */
            invokevirtual com.oracle.svm.core.SubstrateUtil$DiagnosticThunkRegister.callDiagnosticThunks:(Lcom/oracle/svm/core/log/Log;)V
        57: .line 373
            goto 60
      StackMap locals:
      StackMap stack: java.lang.Exception
        58: astore 5 /* e */
        start local 5 // java.lang.Exception e
        59: .line 374
            aload 0 /* log */
            ldc "callThunks"
            aload 5 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 5 // java.lang.Exception e
        60: .line 377
      StackMap locals:
      StackMap stack:
            iconst_0
            putstatic com.oracle.svm.core.SubstrateUtil.diagnosticsInProgress:Z
        61: .line 378
            return
        end local 4 // org.graalvm.nativeimage.IsolateThread currentThread
        end local 3 // com.oracle.svm.core.RegisterDumper$Context context
        end local 2 // org.graalvm.nativeimage.c.function.CodePointer ip
        end local 1 // org.graalvm.word.Pointer sp
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   62     0            log  Lcom/oracle/svm/core/log/Log;
            0   62     1             sp  Lorg/graalvm/word/Pointer;
            0   62     2             ip  Lorg/graalvm/nativeimage/c/function/CodePointer;
            0   62     3        context  Lcom/oracle/svm/core/RegisterDumper$Context;
            9   10     4              e  Ljava/lang/Exception;
           13   14     4              e  Ljava/lang/Exception;
           17   18     4              e  Ljava/lang/Exception;
           21   22     4              e  Ljava/lang/Exception;
           25   26     4              e  Ljava/lang/Exception;
           27   62     4  currentThread  Lorg/graalvm/nativeimage/IsolateThread;
           30   31     5              e  Ljava/lang/Exception;
           34   35     5              e  Ljava/lang/Exception;
           39   40     5              e  Ljava/lang/Exception;
           43   44     5              e  Ljava/lang/Exception;
           47   56     5       vmThread  Lorg/graalvm/nativeimage/IsolateThread;
           53   54     6              e  Ljava/lang/Exception;
           59   60     5              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.Exception
          10    11      12  Class java.lang.Exception
          14    15      16  Class java.lang.Exception
          18    19      20  Class java.lang.Exception
          22    23      24  Class java.lang.Exception
          27    28      29  Class java.lang.Exception
          31    32      33  Class java.lang.Exception
          36    37      38  Class java.lang.Exception
          40    41      42  Class java.lang.Exception
          50    51      52  Class java.lang.Exception
          56    57      58  Class java.lang.Exception
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Must not allocate during printing diagnostics.")
    MethodParameters:
         Name  Flags
      log      
      sp       
      ip       
      context  

  private static void dumpException(com.oracle.svm.core.log.Log, java.lang.String, java.lang.Exception);
    descriptor: (Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.svm.core.log.Log log
        start local 1 // java.lang.String context
        start local 2 // java.lang.Exception e
         0: .line 381
            aload 0 /* log */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            ldc "[!!! Exception during "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* context */
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc ": "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* e */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "]"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 382
            return
        end local 2 // java.lang.Exception e
        end local 1 // java.lang.String context
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0      log  Lcom/oracle/svm/core/log/Log;
            0    2     1  context  Ljava/lang/String;
            0    2     2        e  Ljava/lang/Exception;
    MethodParameters:
         Name  Flags
      log      
      context  
      e        

  private static void dumpRegisters(com.oracle.svm.core.log.Log, com.oracle.svm.core.RegisterDumper$Context);
    descriptor: (Lcom/oracle/svm/core/log/Log;Lcom/oracle/svm/core/RegisterDumper$Context;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.log.Log log
        start local 1 // com.oracle.svm.core.RegisterDumper$Context context
         0: .line 385
            aload 1 /* context */
            invokeinterface com.oracle.svm.core.RegisterDumper$Context.isNonNull:()Z
            ifeq 5
         1: .line 386
            aload 0 /* log */
            ldc "General Purpose Register Set values:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 387
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         3: .line 388
            invokestatic com.oracle.svm.core.RegisterDumper.singleton:()Lcom/oracle/svm/core/RegisterDumper;
            aload 0 /* log */
            aload 1 /* context */
            invokeinterface com.oracle.svm.core.RegisterDumper.dumpRegisters:(Lcom/oracle/svm/core/log/Log;Lcom/oracle/svm/core/RegisterDumper$Context;)V
         4: .line 389
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         5: .line 391
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.svm.core.RegisterDumper$Context context
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0      log  Lcom/oracle/svm/core/log/Log;
            0    6     1  context  Lcom/oracle/svm/core/RegisterDumper$Context;
    MethodParameters:
         Name  Flags
      log      
      context  

  private static void dumpJavaFrameAnchors(com.oracle.svm.core.log.Log);
    descriptor: (Lcom/oracle/svm/core/log/Log;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.svm.core.log.Log log
         0: .line 394
            aload 0 /* log */
            ldc "JavaFrameAnchor dump:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 395
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 396
            invokestatic com.oracle.svm.core.stack.JavaFrameAnchors.getFrameAnchor:()Lcom/oracle/svm/core/stack/JavaFrameAnchor;
            astore 1 /* anchor */
        start local 1 // com.oracle.svm.core.stack.JavaFrameAnchor anchor
         3: .line 397
            aload 1 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.isNull:()Z
            ifeq 8
         4: .line 398
            aload 0 /* log */
            ldc "No anchors"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         5: .line 400
            goto 8
         6: .line 401
      StackMap locals: com.oracle.svm.core.stack.JavaFrameAnchor
      StackMap stack:
            aload 0 /* log */
            ldc "Anchor "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            ldc " LastJavaSP "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.getLastJavaSP:()Lorg/graalvm/word/Pointer;
            invokeinterface org.graalvm.word.Pointer.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            ldc " LastJavaIP "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.getLastJavaIP:()Lorg/graalvm/nativeimage/c/function/CodePointer;
            invokeinterface org.graalvm.nativeimage.c.function.CodePointer.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         7: .line 402
            aload 1 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.getPreviousAnchor:()Lcom/oracle/svm/core/stack/JavaFrameAnchor;
            astore 1 /* anchor */
         8: .line 400
      StackMap locals:
      StackMap stack:
            aload 1 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.isNonNull:()Z
            ifne 6
         9: .line 404
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
        10: .line 405
            return
        end local 1 // com.oracle.svm.core.stack.JavaFrameAnchor anchor
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0     log  Lcom/oracle/svm/core/log/Log;
            3   11     1  anchor  Lcom/oracle/svm/core/stack/JavaFrameAnchor;
    MethodParameters:
      Name  Flags
      log   

  private static void dumpDeoptStubPointer(com.oracle.svm.core.log.Log);
    descriptor: (Lcom/oracle/svm/core/log/Log;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.log.Log log
         0: .line 408
            invokestatic com.oracle.svm.core.deopt.DeoptimizationSupport.enabled:()Z
            ifeq 2
         1: .line 409
            aload 0 /* log */
            ldc "DeoptStubPointer address: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokestatic com.oracle.svm.core.deopt.DeoptimizationSupport.getDeoptStubPointer:()Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
            invokeinterface org.graalvm.nativeimage.c.function.CFunctionPointer.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 411
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   log  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
      Name  Flags
      log   

  private static void dumpTopFrame(com.oracle.svm.core.log.Log, org.graalvm.word.Pointer, org.graalvm.nativeimage.c.function.CodePointer);
    descriptor: (Lcom/oracle/svm/core/log/Log;Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // com.oracle.svm.core.log.Log log
        start local 1 // org.graalvm.word.Pointer sp
        start local 2 // org.graalvm.nativeimage.c.function.CodePointer ip
         0: .line 414
            aload 0 /* log */
            ldc "TopFrame info:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 415
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 416
            aload 1 /* sp */
            invokeinterface org.graalvm.word.Pointer.isNonNull:()Z
            ifeq 24
            aload 2 /* ip */
            invokeinterface org.graalvm.nativeimage.c.function.CodePointer.isNonNull:()Z
            ifeq 24
         3: .line 417
            aload 1 /* sp */
            aload 2 /* ip */
            invokestatic com.oracle.svm.core.SubstrateUtil.getTotalFrameSize:(Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;)J
            lstore 3 /* totalFrameSize */
        start local 3 // long totalFrameSize
         4: .line 418
            aload 1 /* sp */
            invokestatic com.oracle.svm.core.deopt.Deoptimizer.checkDeoptimized:(Lorg/graalvm/word/Pointer;)Lcom/oracle/svm/core/deopt/DeoptimizedFrame;
            astore 5 /* deoptFrame */
        start local 5 // com.oracle.svm.core.deopt.DeoptimizedFrame deoptFrame
         5: .line 419
            aload 5 /* deoptFrame */
            ifnull 10
         6: .line 420
            aload 0 /* log */
            ldc "RSP "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* sp */
            invokeinterface org.graalvm.word.Pointer.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            ldc " frame was deoptimized:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         7: .line 421
            aload 0 /* log */
            ldc "SourcePC "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 5 /* deoptFrame */
            invokevirtual com.oracle.svm.core.deopt.DeoptimizedFrame.getSourcePC:()Lorg/graalvm/nativeimage/c/function/CodePointer;
            invokeinterface org.graalvm.nativeimage.c.function.CodePointer.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         8: .line 422
            aload 0 /* log */
            ldc "SourceTotalFrameSize "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            lload 3 /* totalFrameSize */
            invokevirtual com.oracle.svm.core.log.Log.signed:(J)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         9: .line 423
            goto 12
      StackMap locals: long com.oracle.svm.core.deopt.DeoptimizedFrame
      StackMap stack:
        10: lload 3 /* totalFrameSize */
            ldc -1
            lcmp
            ifeq 12
        11: .line 424
            aload 0 /* log */
            ldc "TotalFrameSize in CodeInfoTable "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            lload 3 /* totalFrameSize */
            invokevirtual com.oracle.svm.core.log.Log.signed:(J)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        12: .line 427
      StackMap locals:
      StackMap stack:
            lload 3 /* totalFrameSize */
            ldc -1
            lcmp
            ifne 24
        13: .line 428
            aload 0 /* log */
            ldc "Does not look like a Java Frame. Use JavaFrameAnchors to find LastJavaSP:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        14: .line 429
            invokestatic com.oracle.svm.core.stack.JavaFrameAnchors.getFrameAnchor:()Lcom/oracle/svm/core/stack/JavaFrameAnchor;
            astore 6 /* anchor */
        start local 6 // com.oracle.svm.core.stack.JavaFrameAnchor anchor
        15: .line 430
            goto 17
        16: .line 431
      StackMap locals: com.oracle.svm.core.stack.JavaFrameAnchor
      StackMap stack:
            aload 6 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.getPreviousAnchor:()Lcom/oracle/svm/core/stack/JavaFrameAnchor;
            astore 6 /* anchor */
        17: .line 430
      StackMap locals:
      StackMap stack:
            aload 6 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.isNonNull:()Z
            ifeq 18
            aload 6 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.getLastJavaSP:()Lorg/graalvm/word/Pointer;
            aload 1 /* sp */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 16
        18: .line 434
      StackMap locals:
      StackMap stack:
            aload 6 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.isNonNull:()Z
            ifeq 24
        19: .line 435
            aload 0 /* log */
            ldc "Found matching Anchor:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 6 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        20: .line 436
            aload 6 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.getLastJavaSP:()Lorg/graalvm/word/Pointer;
            astore 7 /* lastSp */
        start local 7 // org.graalvm.word.Pointer lastSp
        21: .line 437
            aload 0 /* log */
            ldc "LastJavaSP "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 7 /* lastSp */
            invokeinterface org.graalvm.word.Pointer.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        22: .line 438
            aload 6 /* anchor */
            invokeinterface com.oracle.svm.core.stack.JavaFrameAnchor.getLastJavaIP:()Lorg/graalvm/nativeimage/c/function/CodePointer;
            astore 8 /* lastIp */
        start local 8 // org.graalvm.nativeimage.c.function.CodePointer lastIp
        23: .line 439
            aload 0 /* log */
            ldc "LastJavaIP "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 8 /* lastIp */
            invokeinterface org.graalvm.nativeimage.c.function.CodePointer.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        end local 8 // org.graalvm.nativeimage.c.function.CodePointer lastIp
        end local 7 // org.graalvm.word.Pointer lastSp
        end local 6 // com.oracle.svm.core.stack.JavaFrameAnchor anchor
        end local 5 // com.oracle.svm.core.deopt.DeoptimizedFrame deoptFrame
        end local 3 // long totalFrameSize
        24: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
        25: .line 444
            return
        end local 2 // org.graalvm.nativeimage.c.function.CodePointer ip
        end local 1 // org.graalvm.word.Pointer sp
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0             log  Lcom/oracle/svm/core/log/Log;
            0   26     1              sp  Lorg/graalvm/word/Pointer;
            0   26     2              ip  Lorg/graalvm/nativeimage/c/function/CodePointer;
            4   24     3  totalFrameSize  J
            5   24     5      deoptFrame  Lcom/oracle/svm/core/deopt/DeoptimizedFrame;
           15   24     6          anchor  Lcom/oracle/svm/core/stack/JavaFrameAnchor;
           21   24     7          lastSp  Lorg/graalvm/word/Pointer;
           23   24     8          lastIp  Lorg/graalvm/nativeimage/c/function/CodePointer;
    MethodParameters:
      Name  Flags
      log   
      sp    
      ip    

  private static long getTotalFrameSize(org.graalvm.word.Pointer, org.graalvm.nativeimage.c.function.CodePointer);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=9, args_size=2
        start local 0 // org.graalvm.word.Pointer sp
        start local 1 // org.graalvm.nativeimage.c.function.CodePointer ip
         0: .line 448
            aload 0 /* sp */
            invokestatic com.oracle.svm.core.deopt.Deoptimizer.checkDeoptimized:(Lorg/graalvm/word/Pointer;)Lcom/oracle/svm/core/deopt/DeoptimizedFrame;
            astore 2 /* deoptFrame */
        start local 2 // com.oracle.svm.core.deopt.DeoptimizedFrame deoptFrame
         1: .line 449
            aload 2 /* deoptFrame */
            ifnull 3
         2: .line 450
            aload 2 /* deoptFrame */
            invokevirtual com.oracle.svm.core.deopt.DeoptimizedFrame.getSourceTotalFrameSize:()J
            lreturn
         3: .line 453
      StackMap locals: com.oracle.svm.core.deopt.DeoptimizedFrame
      StackMap stack:
            aload 1 /* ip */
            invokestatic com.oracle.svm.core.code.CodeInfoTable.lookupCodeInfo:(Lorg/graalvm/nativeimage/c/function/CodePointer;)Lcom/oracle/svm/core/code/UntetheredCodeInfo;
            astore 3 /* untetheredInfo */
        start local 3 // com.oracle.svm.core.code.UntetheredCodeInfo untetheredInfo
         4: .line 454
            aload 3 /* untetheredInfo */
            invokeinterface com.oracle.svm.core.code.UntetheredCodeInfo.isNonNull:()Z
            ifeq 13
         5: .line 455
            aload 3 /* untetheredInfo */
            invokestatic com.oracle.svm.core.code.CodeInfoAccess.acquireTether:(Lcom/oracle/svm/core/code/UntetheredCodeInfo;)Ljava/lang/Object;
            astore 4 /* tether */
        start local 4 // java.lang.Object tether
         6: .line 457
            aload 3 /* untetheredInfo */
            aload 4 /* tether */
            invokestatic com.oracle.svm.core.code.CodeInfoAccess.convert:(Lcom/oracle/svm/core/code/UntetheredCodeInfo;Ljava/lang/Object;)Lcom/oracle/svm/core/code/CodeInfo;
            astore 5 /* codeInfo */
        start local 5 // com.oracle.svm.core.code.CodeInfo codeInfo
         7: .line 458
            aload 1 /* ip */
            aload 5 /* codeInfo */
            invokestatic com.oracle.svm.core.SubstrateUtil.getTotalFrameSize0:(Lorg/graalvm/nativeimage/c/function/CodePointer;Lcom/oracle/svm/core/code/CodeInfo;)J
            lstore 7
         8: .line 460
            aload 3 /* untetheredInfo */
            aload 4 /* tether */
            invokestatic com.oracle.svm.core.code.CodeInfoAccess.releaseTether:(Lcom/oracle/svm/core/code/UntetheredCodeInfo;Ljava/lang/Object;)V
         9: .line 458
            lload 7
            lreturn
        end local 5 // com.oracle.svm.core.code.CodeInfo codeInfo
        10: .line 459
      StackMap locals: org.graalvm.word.Pointer org.graalvm.nativeimage.c.function.CodePointer com.oracle.svm.core.deopt.DeoptimizedFrame com.oracle.svm.core.code.UntetheredCodeInfo java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 6
        11: .line 460
            aload 3 /* untetheredInfo */
            aload 4 /* tether */
            invokestatic com.oracle.svm.core.code.CodeInfoAccess.releaseTether:(Lcom/oracle/svm/core/code/UntetheredCodeInfo;Ljava/lang/Object;)V
        12: .line 461
            aload 6
            athrow
        end local 4 // java.lang.Object tether
        13: .line 463
      StackMap locals:
      StackMap stack:
            ldc -1
            lreturn
        end local 3 // com.oracle.svm.core.code.UntetheredCodeInfo untetheredInfo
        end local 2 // com.oracle.svm.core.deopt.DeoptimizedFrame deoptFrame
        end local 1 // org.graalvm.nativeimage.c.function.CodePointer ip
        end local 0 // org.graalvm.word.Pointer sp
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0              sp  Lorg/graalvm/word/Pointer;
            0   14     1              ip  Lorg/graalvm/nativeimage/c/function/CodePointer;
            1   14     2      deoptFrame  Lcom/oracle/svm/core/deopt/DeoptimizedFrame;
            4   14     3  untetheredInfo  Lcom/oracle/svm/core/code/UntetheredCodeInfo;
            6   13     4          tether  Ljava/lang/Object;
            7   10     5        codeInfo  Lcom/oracle/svm/core/code/CodeInfo;
      Exception table:
        from    to  target  type
           6     8      10  any
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Prevent deoptimization of stack frames while in this method.")
    MethodParameters:
      Name  Flags
      sp    
      ip    

  private static long getTotalFrameSize0(org.graalvm.nativeimage.c.function.CodePointer, com.oracle.svm.core.code.CodeInfo);
    descriptor: (Lorg/graalvm/nativeimage/c/function/CodePointer;Lcom/oracle/svm/core/code/CodeInfo;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.nativeimage.c.function.CodePointer ip
        start local 1 // com.oracle.svm.core.code.CodeInfo codeInfo
         0: .line 468
            aload 1 /* codeInfo */
            aload 1 /* codeInfo */
            aload 0 /* ip */
            invokestatic com.oracle.svm.core.code.CodeInfoAccess.relativeIP:(Lcom/oracle/svm/core/code/CodeInfo;Lorg/graalvm/nativeimage/c/function/CodePointer;)J
            invokestatic com.oracle.svm.core.code.CodeInfoAccess.lookupTotalFrameSize:(Lcom/oracle/svm/core/code/CodeInfo;J)J
            lreturn
        end local 1 // com.oracle.svm.core.code.CodeInfo codeInfo
        end local 0 // org.graalvm.nativeimage.c.function.CodePointer ip
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0        ip  Lorg/graalvm/nativeimage/c/function/CodePointer;
            0    1     1  codeInfo  Lcom/oracle/svm/core/code/CodeInfo;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Wrap the now safe call to interruptibly look up the frame size.", calleeMustBe = false)
    MethodParameters:
          Name  Flags
      ip        
      codeInfo  

  private static void dumpVMThreads(com.oracle.svm.core.log.Log);
    descriptor: (Lcom/oracle/svm/core/log/Log;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.svm.core.log.Log log
         0: .line 472
            aload 0 /* log */
            ldc "VMThreads info:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 473
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 475
            invokestatic com.oracle.svm.core.thread.VMThreads.firstThreadUnsafe:()Lorg/graalvm/nativeimage/IsolateThread;
            astore 1 /* vmThread */
        start local 1 // org.graalvm.nativeimage.IsolateThread vmThread
         3: goto 7
         4: .line 476
      StackMap locals: org.graalvm.nativeimage.IsolateThread
      StackMap stack:
            aload 0 /* log */
            ldc "VMThread "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* vmThread */
            invokeinterface org.graalvm.nativeimage.IsolateThread.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            iconst_2
            invokevirtual com.oracle.svm.core.log.Log.spaces:(I)Lcom/oracle/svm/core/log/Log;
            aload 1 /* vmThread */
            invokestatic com.oracle.svm.core.thread.VMThreads$StatusSupport.getStatusString:(Lorg/graalvm/nativeimage/IsolateThread;)Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
         5: .line 477
            iconst_2
            invokevirtual com.oracle.svm.core.log.Log.spaces:(I)Lcom/oracle/svm/core/log/Log;
            aload 1 /* vmThread */
            invokestatic com.oracle.svm.core.thread.JavaThreads.fromVMThread:(Lorg/graalvm/nativeimage/IsolateThread;)Ljava/lang/Thread;
            invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         6: .line 475
            aload 1 /* vmThread */
            invokestatic com.oracle.svm.core.thread.VMThreads.nextThread:(Lorg/graalvm/nativeimage/IsolateThread;)Lorg/graalvm/nativeimage/IsolateThread;
            astore 1 /* vmThread */
      StackMap locals:
      StackMap stack:
         7: aload 1 /* vmThread */
            invokeinterface org.graalvm.nativeimage.IsolateThread.isNonNull:()Z
            ifne 4
        end local 1 // org.graalvm.nativeimage.IsolateThread vmThread
         8: .line 479
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         9: .line 480
            return
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0       log  Lcom/oracle/svm/core/log/Log;
            3    8     1  vmThread  Lorg/graalvm/nativeimage/IsolateThread;
    MethodParameters:
      Name  Flags
      log   

  private static void dumpVMThreadState(com.oracle.svm.core.log.Log, org.graalvm.nativeimage.IsolateThread);
    descriptor: (Lcom/oracle/svm/core/log/Log;Lorg/graalvm/nativeimage/IsolateThread;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.log.Log log
        start local 1 // org.graalvm.nativeimage.IsolateThread currentThread
         0: .line 483
            aload 0 /* log */
            ldc "VM Thread State for current thread "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* currentThread */
            invokeinterface org.graalvm.nativeimage.IsolateThread.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            ldc ":"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 484
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 485
            aload 0 /* log */
            aload 1 /* currentThread */
            invokestatic com.oracle.svm.core.threadlocal.VMThreadLocalInfos.dumpToLog:(Lcom/oracle/svm/core/log/Log;Lorg/graalvm/nativeimage/IsolateThread;)V
         3: .line 486
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 487
            return
        end local 1 // org.graalvm.nativeimage.IsolateThread currentThread
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0            log  Lcom/oracle/svm/core/log/Log;
            0    5     1  currentThread  Lorg/graalvm/nativeimage/IsolateThread;
    MethodParameters:
               Name  Flags
      log            
      currentThread  

  private static void dumpRecentVMOperations(com.oracle.svm.core.log.Log);
    descriptor: (Lcom/oracle/svm/core/log/Log;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.log.Log log
         0: .line 490
            aload 0 /* log */
            ldc "VMOperation dump:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 491
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 492
            aload 0 /* log */
            invokestatic com.oracle.svm.core.thread.VMOperationControl.logRecentEvents:(Lcom/oracle/svm/core/log/Log;)V
         3: .line 493
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 494
            return
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   log  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
      Name  Flags
      log   

  static void dumpRuntimeCompilation(com.oracle.svm.core.log.Log);
    descriptor: (Lcom/oracle/svm/core/log/Log;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.svm.core.log.Log log
         0: .line 497
            invokestatic com.oracle.svm.core.deopt.DeoptimizationSupport.enabled:()Z
            ifeq 17
         1: .line 498
            aload 0 /* log */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            ldc "RuntimeCodeCache dump:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 499
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         3: .line 501
            aload 0 /* log */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpRecentRuntimeCodeCacheOperations:(Lcom/oracle/svm/core/log/Log;)V
         4: .line 502
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Exception
         5: astore 1 /* e */
        start local 1 // java.lang.Exception e
         6: .line 503
            aload 0 /* log */
            ldc "dumpRecentRuntimeCodeCacheOperations"
            aload 1 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 1 // java.lang.Exception e
         7: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         8: .line 507
            aload 0 /* log */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpRuntimeCodeCacheTable:(Lcom/oracle/svm/core/log/Log;)V
         9: .line 508
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Exception
        10: astore 1 /* e */
        start local 1 // java.lang.Exception e
        11: .line 509
            aload 0 /* log */
            ldc "dumpRuntimeCodeCacheTable"
            aload 1 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 1 // java.lang.Exception e
        12: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
        13: .line 514
            aload 0 /* log */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpRecentDeopts:(Lcom/oracle/svm/core/log/Log;)V
        14: .line 515
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Exception
        15: astore 1 /* e */
        start local 1 // java.lang.Exception e
        16: .line 516
            aload 0 /* log */
            ldc "dumpRecentDeopts"
            aload 1 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 1 // java.lang.Exception e
        17: .line 519
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0   log  Lcom/oracle/svm/core/log/Log;
            6    7     1     e  Ljava/lang/Exception;
           11   12     1     e  Ljava/lang/Exception;
           16   17     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception
           8     9      10  Class java.lang.Exception
          13    14      15  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      log   

  private static void dumpRecentRuntimeCodeCacheOperations(com.oracle.svm.core.log.Log);
    descriptor: (Lcom/oracle/svm/core/log/Log;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.log.Log log
         0: .line 522
            invokestatic com.oracle.svm.core.code.CodeInfoTable.getRuntimeCodeCache:()Lcom/oracle/svm/core/code/RuntimeCodeCache;
            aload 0 /* log */
            invokevirtual com.oracle.svm.core.code.RuntimeCodeCache.logRecentOperations:(Lcom/oracle/svm/core/log/Log;)V
         1: .line 523
            return
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   log  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
      Name  Flags
      log   

  private static void dumpRuntimeCodeCacheTable(com.oracle.svm.core.log.Log);
    descriptor: (Lcom/oracle/svm/core/log/Log;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.log.Log log
         0: .line 526
            invokestatic com.oracle.svm.core.code.CodeInfoTable.getRuntimeCodeCache:()Lcom/oracle/svm/core/code/RuntimeCodeCache;
            aload 0 /* log */
            invokevirtual com.oracle.svm.core.code.RuntimeCodeCache.logTable:(Lcom/oracle/svm/core/log/Log;)V
         1: .line 527
            return
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   log  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
      Name  Flags
      log   

  private static void dumpRecentDeopts(com.oracle.svm.core.log.Log);
    descriptor: (Lcom/oracle/svm/core/log/Log;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.log.Log log
         0: .line 530
            aload 0 /* log */
            ldc "Deoptimizer dump:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 531
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 532
            aload 0 /* log */
            invokestatic com.oracle.svm.core.deopt.Deoptimizer.logRecentDeoptimizationEvents:(Lcom/oracle/svm/core/log/Log;)V
         3: .line 533
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 534
            return
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   log  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
      Name  Flags
      log   

  private static void dumpCounters(com.oracle.svm.core.log.Log);
    descriptor: (Lcom/oracle/svm/core/log/Log;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.log.Log log
         0: .line 537
            aload 0 /* log */
            ldc "Dump Counters:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 538
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 539
            invokestatic com.oracle.svm.core.util.Counter.logValues:()V
         3: .line 540
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 541
            return
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   log  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
      Name  Flags
      log   

  private static void dumpStacktraceRaw(com.oracle.svm.core.log.Log, org.graalvm.word.Pointer);
    descriptor: (Lcom/oracle/svm/core/log/Log;Lorg/graalvm/word/Pointer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.log.Log log
        start local 1 // org.graalvm.word.Pointer sp
         0: .line 544
            aload 0 /* log */
            ldc "Raw Stacktrace:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 545
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 550
            aload 0 /* log */
            aload 1 /* sp */
            bipush 8
            bipush 16
            invokevirtual com.oracle.svm.core.log.Log.hexdump:(Lorg/graalvm/word/PointerBase;II)Lcom/oracle/svm/core/log/Log;
            pop
         3: .line 551
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 552
            return
        end local 1 // org.graalvm.word.Pointer sp
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   log  Lcom/oracle/svm/core/log/Log;
            0    5     1    sp  Lorg/graalvm/word/Pointer;
    MethodParameters:
      Name  Flags
      log   
      sp    

  private static void dumpStacktrace(com.oracle.svm.core.log.Log, org.graalvm.word.Pointer, org.graalvm.nativeimage.c.function.CodePointer);
    descriptor: (Lcom/oracle/svm/core/log/Log;Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.oracle.svm.core.log.Log log
        start local 1 // org.graalvm.word.Pointer sp
        start local 2 // org.graalvm.nativeimage.c.function.CodePointer ip
         0: .line 558
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 10
         2: .line 560
      StackMap locals: int
      StackMap stack:
            aload 0 /* log */
            ldc "Stacktrace Stage "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iload 3 /* i */
            invokevirtual com.oracle.svm.core.log.Log.signed:(I)Lcom/oracle/svm/core/log/Log;
            ldc ":"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         3: .line 561
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 562
            aload 1 /* sp */
            aload 2 /* ip */
            getstatic com.oracle.svm.core.SubstrateUtil.PRINT_VISITORS:[Lcom/oracle/svm/core/stack/ThreadStackPrinter$Stage0StackFramePrintVisitor;
            iload 3 /* i */
            aaload
            aload 0 /* log */
            invokestatic com.oracle.svm.core.stack.ThreadStackPrinter.printStacktrace:(Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;Lcom/oracle/svm/core/stack/ThreadStackPrinter$Stage0StackFramePrintVisitor;Lcom/oracle/svm/core/log/Log;)V
         5: .line 563
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         6: .line 564
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Exception
         7: astore 4 /* e */
        start local 4 // java.lang.Exception e
         8: .line 565
            aload 0 /* log */
            ldc "dumpStacktrace"
            aload 4 /* e */
            invokestatic com.oracle.svm.core.SubstrateUtil.dumpException:(Lcom/oracle/svm/core/log/Log;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 4 // java.lang.Exception e
         9: .line 558
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            getstatic com.oracle.svm.core.SubstrateUtil.PRINT_VISITORS:[Lcom/oracle/svm/core/stack/ThreadStackPrinter$Stage0StackFramePrintVisitor;
            arraylength
            if_icmplt 2
        end local 3 // int i
        11: .line 568
            return
        end local 2 // org.graalvm.nativeimage.c.function.CodePointer ip
        end local 1 // org.graalvm.word.Pointer sp
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0   log  Lcom/oracle/svm/core/log/Log;
            0   12     1    sp  Lorg/graalvm/word/Pointer;
            0   12     2    ip  Lorg/graalvm/nativeimage/c/function/CodePointer;
            1   11     3     i  I
            8    9     4     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      log   
      sp    
      ip    

  private static void dumpStacktrace(com.oracle.svm.core.log.Log, org.graalvm.nativeimage.IsolateThread);
    descriptor: (Lcom/oracle/svm/core/log/Log;Lorg/graalvm/nativeimage/IsolateThread;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.log.Log log
        start local 1 // org.graalvm.nativeimage.IsolateThread vmThread
         0: .line 571
            aload 0 /* log */
            ldc "Full Stacktrace for VMThread "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* vmThread */
            invokeinterface org.graalvm.nativeimage.IsolateThread.rawValue:()J
            invokevirtual com.oracle.svm.core.log.Log.zhex:(J)Lcom/oracle/svm/core/log/Log;
            ldc ":"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 572
            aload 0 /* log */
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 573
            aload 1 /* vmThread */
            getstatic com.oracle.svm.core.stack.ThreadStackPrinter$StackFramePrintVisitor.SINGLETON:Lcom/oracle/svm/core/stack/ThreadStackPrinter$StackFramePrintVisitor;
            aload 0 /* log */
            invokestatic com.oracle.svm.core.stack.JavaStackWalker.walkThread:(Lorg/graalvm/nativeimage/IsolateThread;Lcom/oracle/svm/core/stack/ParameterizedStackFrameVisitor;Ljava/lang/Object;)Z
            pop
         3: .line 574
            aload 0 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 575
            return
        end local 1 // org.graalvm.nativeimage.IsolateThread vmThread
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0       log  Lcom/oracle/svm/core/log/Log;
            0    5     1  vmThread  Lorg/graalvm/nativeimage/IsolateThread;
    MethodParameters:
          Name  Flags
      log       
      vmThread  

  public static java.lang.String[] split(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String value
        start local 1 // java.lang.String separator
         0: .line 633
            aload 0 /* value */
            aload 1 /* separator */
            iconst_0
            invokestatic com.oracle.svm.core.SubstrateUtil.split:(Ljava/lang/String;Ljava/lang/String;I)[Ljava/lang/String;
            areturn
        end local 1 // java.lang.String separator
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      value  Ljava/lang/String;
            0    1     1  separator  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      value      
      separator  

  public static java.lang.String[] split(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.lang.String value
        start local 1 // java.lang.String separator
        start local 2 // int limit
         0: .line 641
            iconst_0
            istore 3 /* offset */
        start local 3 // int offset
         1: .line 643
            aconst_null
            astore 5 /* list */
        start local 5 // java.util.ArrayList list
         2: .line 644
            goto 11
        start local 4 // int next
         3: .line 645
      StackMap locals: int int java.util.ArrayList
      StackMap stack:
            aload 5 /* list */
            ifnonnull 5
         4: .line 646
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* list */
         5: .line 648
      StackMap locals:
      StackMap stack:
            iload 2 /* limit */
            ifle 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* limited */
        start local 6 // boolean limited
         8: .line 649
            iload 6 /* limited */
            ifeq 9
            aload 5 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iload 2 /* limit */
            iconst_1
            isub
            if_icmpge 13
         9: .line 650
      StackMap locals: int
      StackMap stack:
            aload 5 /* list */
            aload 0 /* value */
            iload 3 /* offset */
            iload 4 /* next */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 651
            iload 4 /* next */
            aload 1 /* separator */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 3 /* offset */
        end local 6 // boolean limited
        end local 4 // int next
        11: .line 644
      StackMap locals: java.lang.String java.lang.String int int top java.util.ArrayList
      StackMap stack:
            aload 0 /* value */
            aload 1 /* separator */
            iload 3 /* offset */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            dup
            istore 4 /* next */
        start local 4 // int next
        12: iconst_m1
            if_icmpne 3
        13: .line 657
      StackMap locals: java.lang.String java.lang.String int int int java.util.ArrayList
      StackMap stack:
            iload 3 /* offset */
            ifne 15
        14: .line 659
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* value */
            aastore
            areturn
        15: .line 663
      StackMap locals:
      StackMap stack:
            aload 5 /* list */
            aload 0 /* value */
            iload 3 /* offset */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        16: .line 665
            aload 5 /* list */
            aload 5 /* list */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 5 // java.util.ArrayList list
        end local 4 // int next
        end local 3 // int offset
        end local 2 // int limit
        end local 1 // java.lang.String separator
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0      value  Ljava/lang/String;
            0   17     1  separator  Ljava/lang/String;
            0   17     2      limit  I
            1   17     3     offset  I
            3   11     4       next  I
           12   17     4       next  I
            2   17     5       list  Ljava/util/ArrayList<Ljava/lang/String;>;
            8   11     6    limited  Z
    MethodParameters:
           Name  Flags
      value      
      separator  
      limit      

  public static java.lang.String toHex(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // byte[] data
         0: .line 669
            aload 0 /* data */
            invokestatic org.graalvm.compiler.java.LambdaUtils.toHex:([B)Ljava/lang/String;
            areturn
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  data  [B
    MethodParameters:
      Name  Flags
      data  

  public static java.lang.String digest(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String value
         0: .line 673
            aload 0 /* value */
            invokestatic org.graalvm.compiler.java.LambdaUtils.digest:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.String uniqueShortName(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod m
         0: .line 681
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* fullName */
        start local 1 // java.lang.StringBuilder fullName
         1: .line 682
            aload 1 /* fullName */
            aload 0 /* m */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* m */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 683
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 684
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* fullName */
            aload 0 /* m */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            iload 2 /* i */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.toClassName:()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;
            pop
         5: .line 683
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* m */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            if_icmplt 4
        end local 2 // int i
         7: .line 686
            aload 1 /* fullName */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 687
            aload 0 /* m */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isConstructor:()Z
            ifne 10
         9: .line 688
            aload 1 /* fullName */
            aload 0 /* m */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.toClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 691
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* m */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.SubstrateUtil.stripPackage:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 692
            aload 0 /* m */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isConstructor:()Z
            ifeq 12
            ldc "constructor"
            goto 13
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        12: aload 0 /* m */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder java.lang.String
        13: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 693
            aload 1 /* fullName */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.SubstrateUtil.digest:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 691
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder fullName
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod m
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0         m  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            1   16     1  fullName  Ljava/lang/StringBuilder;
            3    7     2         i  I
    MethodParameters:
      Name  Flags
      m     

  public static java.lang.String uniqueShortName(java.lang.reflect.Member);
    descriptor: (Ljava/lang/reflect/Member;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.reflect.Member m
         0: .line 702
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* fullName */
        start local 1 // java.lang.StringBuilder fullName
         1: .line 703
            aload 1 /* fullName */
            aload 0 /* m */
            invokeinterface java.lang.reflect.Member.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 704
            aload 0 /* m */
            instanceof java.lang.reflect.Constructor
            ifeq 5
         3: .line 705
            aload 1 /* fullName */
            ldc "<init>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 706
            goto 6
         5: .line 707
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* fullName */
            aload 0 /* m */
            invokeinterface java.lang.reflect.Member.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 709
      StackMap locals:
      StackMap stack:
            aload 0 /* m */
            instanceof java.lang.reflect.Executable
            ifeq 16
         7: .line 710
            aload 1 /* fullName */
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 711
            aload 0 /* m */
            checkcast java.lang.reflect.Executable
            invokevirtual java.lang.reflect.Executable.getParameterTypes:()[Ljava/lang/Class;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 12
      StackMap locals: java.lang.reflect.Member java.lang.StringBuilder top int int java.lang.Class[]
      StackMap stack:
         9: aload 5
            iload 3
            aaload
            astore 2 /* c */
        start local 2 // java.lang.Class c
        10: .line 712
            aload 1 /* fullName */
            aload 2 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.lang.Class c
        11: .line 711
            iinc 3 1
      StackMap locals:
      StackMap stack:
        12: iload 3
            iload 4
            if_icmplt 9
        13: .line 714
            aload 1 /* fullName */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 715
            aload 0 /* m */
            instanceof java.lang.reflect.Method
            ifeq 16
        15: .line 716
            aload 1 /* fullName */
            aload 0 /* m */
            checkcast java.lang.reflect.Method
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 720
      StackMap locals: java.lang.reflect.Member java.lang.StringBuilder
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* m */
            invokeinterface java.lang.reflect.Member.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.SubstrateUtil.stripPackage:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 721
            aload 0 /* m */
            instanceof java.lang.reflect.Constructor
            ifeq 18
            ldc "constructor"
            goto 19
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        18: aload 0 /* m */
            invokeinterface java.lang.reflect.Member.getName:()Ljava/lang/String;
      StackMap locals: java.lang.reflect.Member java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder java.lang.String
        19: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 722
            aload 1 /* fullName */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.SubstrateUtil.digest:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 720
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder fullName
        end local 0 // java.lang.reflect.Member m
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0         m  Ljava/lang/reflect/Member;
            1   22     1  fullName  Ljava/lang/StringBuilder;
           10   11     2         c  Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      m     

  private static java.lang.String stripPackage(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String qualifiedClassName
         0: .line 726
            aload 0 /* qualifiedClassName */
            aload 0 /* qualifiedClassName */
            ldc "."
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String qualifiedClassName
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0  qualifiedClassName  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      qualifiedClassName  

  public static java.lang.String mangleName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // java.lang.String methodName
         0: .line 743
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* out */
        start local 1 // java.lang.StringBuilder out
         1: .line 744
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 16
         3: .line 745
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* methodName */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         4: .line 746
            iload 3 /* c */
            bipush 97
            if_icmplt 5
            iload 3 /* c */
            bipush 122
            if_icmple 8
      StackMap locals: int
      StackMap stack:
         5: iload 3 /* c */
            bipush 65
            if_icmplt 6
            iload 3 /* c */
            bipush 90
            if_icmple 8
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            ifne 7
            iload 3 /* c */
            bipush 46
            if_icmpeq 8
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            ifle 10
            iload 3 /* c */
            bipush 48
            if_icmplt 10
            iload 3 /* c */
            bipush 57
            if_icmpgt 10
         8: .line 748
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            iload 3 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 749
            goto 15
      StackMap locals:
      StackMap stack:
        10: iload 3 /* c */
            bipush 95
            if_icmpne 13
        11: .line 750
            aload 1 /* out */
            ldc "__"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 751
            goto 15
        13: .line 752
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 754
            aload 1 /* out */
            ldc "%04x"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* c */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // char c
        15: .line 744
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 2 /* i */
            aload 0 /* methodName */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 2 // int i
        17: .line 758
            aload 1 /* out */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* mangled */
        start local 2 // java.lang.String mangled
        18: .line 759
            getstatic com.oracle.svm.core.SubstrateUtil.$assertionsDisabled:Z
            ifne 19
            aload 2 /* mangled */
            ldc "[a-zA-Z\\._][a-zA-Z0-9_]*"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifne 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 770
      StackMap locals: java.lang.String java.lang.StringBuilder java.lang.String
      StackMap stack:
            aload 2 /* mangled */
            areturn
        end local 2 // java.lang.String mangled
        end local 1 // java.lang.StringBuilder out
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0  methodName  Ljava/lang/String;
            1   20     1         out  Ljava/lang/StringBuilder;
            2   17     2           i  I
            4   15     3           c  C
           18   20     2     mangled  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
    MethodParameters:
            Name  Flags
      methodName  
}
SourceFile: "SubstrateUtil.java"
NestMembers:
  com.oracle.svm.core.SubstrateUtil$DiagnosticThunk  com.oracle.svm.core.SubstrateUtil$DiagnosticThunkRegister  com.oracle.svm.core.SubstrateUtil$NativeImageLoadingShield  com.oracle.svm.core.SubstrateUtil$Target_com_oracle_svm_core_SubstrateUtil  com.oracle.svm.core.SubstrateUtil$Target_java_io_FileOutputStream  com.oracle.svm.core.SubstrateUtil$Thunk
InnerClasses:
  public abstract Context = com.oracle.svm.core.RegisterDumper$Context of com.oracle.svm.core.RegisterDumper
  public abstract DiagnosticThunk = com.oracle.svm.core.SubstrateUtil$DiagnosticThunk of com.oracle.svm.core.SubstrateUtil
  public DiagnosticThunkRegister = com.oracle.svm.core.SubstrateUtil$DiagnosticThunkRegister of com.oracle.svm.core.SubstrateUtil
  public NativeImageLoadingShield = com.oracle.svm.core.SubstrateUtil$NativeImageLoadingShield of com.oracle.svm.core.SubstrateUtil
  final Target_com_oracle_svm_core_SubstrateUtil = com.oracle.svm.core.SubstrateUtil$Target_com_oracle_svm_core_SubstrateUtil of com.oracle.svm.core.SubstrateUtil
  final Target_java_io_FileOutputStream = com.oracle.svm.core.SubstrateUtil$Target_java_io_FileOutputStream of com.oracle.svm.core.SubstrateUtil
  public abstract Thunk = com.oracle.svm.core.SubstrateUtil$Thunk of com.oracle.svm.core.SubstrateUtil
  public final Access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access of com.oracle.svm.core.annotate.RestrictHeapAccess
  public StackFramePrintVisitor = com.oracle.svm.core.stack.ThreadStackPrinter$StackFramePrintVisitor of com.oracle.svm.core.stack.ThreadStackPrinter
  public Stage0StackFramePrintVisitor = com.oracle.svm.core.stack.ThreadStackPrinter$Stage0StackFramePrintVisitor of com.oracle.svm.core.stack.ThreadStackPrinter
  public Stage1StackFramePrintVisitor = com.oracle.svm.core.stack.ThreadStackPrinter$Stage1StackFramePrintVisitor of com.oracle.svm.core.stack.ThreadStackPrinter
  public StatusSupport = com.oracle.svm.core.thread.VMThreads$StatusSupport of com.oracle.svm.core.thread.VMThreads
  public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node