final class jdk.tools.jaotc.LogPrinter
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.tools.jaotc.LogPrinter
  super_class: java.lang.Object
{
  private static java.io.FileWriter logFile;
    descriptor: Ljava/io/FileWriter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final jdk.tools.jaotc.Options options;
    descriptor: Ljdk/tools/jaotc/Options;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.PrintWriter log;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 41
            aconst_null
            putstatic jdk.tools.jaotc.LogPrinter.logFile:Ljava/io/FileWriter;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.tools.jaotc.Main, java.io.PrintWriter);
    descriptor: (Ljdk/tools/jaotc/Main;Ljava/io/PrintWriter;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // jdk.tools.jaotc.Main main
        start local 2 // java.io.PrintWriter log
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 46
            aload 0 /* this */
            aload 1 /* main */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            putfield jdk.tools.jaotc.LogPrinter.options:Ljdk/tools/jaotc/Options;
         2: .line 47
            aload 0 /* this */
            aload 2 /* log */
            putfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
         3: .line 48
            return
        end local 2 // java.io.PrintWriter log
        end local 1 // jdk.tools.jaotc.Main main
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/tools/jaotc/LogPrinter;
            0    4     1  main  Ljdk/tools/jaotc/Main;
            0    4     2   log  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      main  
      log   

  void printInfo(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // java.lang.String message
         0: .line 51
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.info:Z
            ifeq 3
         1: .line 52
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         2: .line 53
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 55
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/LogPrinter;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  void printlnInfo(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // java.lang.String message
         0: .line 58
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.info:Z
            ifeq 3
         1: .line 59
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 60
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 62
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/LogPrinter;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  void printVerbose(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // java.lang.String message
         0: .line 65
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 3
         1: .line 66
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         2: .line 67
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 69
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/LogPrinter;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  void printlnVerbose(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // java.lang.String message
         0: .line 72
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 3
         1: .line 73
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 74
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 76
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/LogPrinter;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  void printDebug(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // java.lang.String message
         0: .line 79
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.debug:Z
            ifeq 3
         1: .line 80
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         2: .line 81
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 83
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/LogPrinter;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  void printlnDebug(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // java.lang.String message
         0: .line 86
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.debug:Z
            ifeq 3
         1: .line 87
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 88
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 90
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/LogPrinter;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  void printError(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // java.lang.String message
         0: .line 93
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            new java.lang.StringBuilder
            dup
            ldc "Error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 94
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         2: .line 95
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljdk/tools/jaotc/LogPrinter;
            0    3     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  void reportError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // java.lang.Throwable e
         0: .line 98
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            new java.lang.StringBuilder
            dup
            ldc "Error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 99
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.info:Z
            ifeq 3
         2: .line 100
            aload 1 /* e */
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         3: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.LogPrinter.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         4: .line 103
            return
        end local 1 // java.lang.Throwable e
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/tools/jaotc/LogPrinter;
            0    5     1     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  void reportError(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object[] args
         0: .line 106
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* args */
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.LogPrinter.printError:(Ljava/lang/String;)V
         1: .line 107
            return
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String key
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jaotc/LogPrinter;
            0    2     1   key  Ljava/lang/String;
            0    2     2  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   
      args  

  private static java.lang.String humanReadableByteCount(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=5, args_size=1
        start local 0 // long bytes
         0: .line 110
            sipush 1024
            istore 2 /* unit */
        start local 2 // int unit
         1: .line 112
            lload 0 /* bytes */
            iload 2 /* unit */
            i2l
            lcmp
            ifge 3
         2: .line 113
            new java.lang.StringBuilder
            dup
            lload 0 /* bytes */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         3: .line 116
      StackMap locals: int
      StackMap stack:
            lload 0 /* bytes */
            l2d
            invokestatic java.lang.Math.log:(D)D
            iload 2 /* unit */
            i2d
            invokestatic java.lang.Math.log:(D)D
            ddiv
            d2i
            istore 3 /* exp */
        start local 3 // int exp
         4: .line 117
            ldc "KMGTPE"
            iload 3 /* exp */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* pre */
        start local 4 // char pre
         5: .line 118
            ldc "%.1f %cB"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            lload 0 /* bytes */
            l2d
            iload 2 /* unit */
            i2d
            iload 3 /* exp */
            i2d
            invokestatic java.lang.Math.pow:(DD)D
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_1
            iload 4 /* pre */
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 4 // char pre
        end local 3 // int exp
        end local 2 // int unit
        end local 0 // long bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  bytes  J
            1    6     2   unit  I
            4    6     3    exp  I
            5    6     4    pre  C
    MethodParameters:
       Name  Flags
      bytes  

  void printMemoryUsage();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.LogPrinter this
         0: .line 123
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tMemoryUsage cannot be resolved to a type\n\tManagementFactory cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/LogPrinter;

  private void printContainerInfo(jdk.tools.jaotc.binformat.ByteContainer);
    descriptor: (Ljdk/tools/jaotc/binformat/ByteContainer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // jdk.tools.jaotc.binformat.ByteContainer container
         0: .line 133
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* container */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getContainerName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* container */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteStreamSize:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.LogPrinter.printlnVerbose:(Ljava/lang/String;)V
         1: .line 134
            return
        end local 1 // jdk.tools.jaotc.binformat.ByteContainer container
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/tools/jaotc/LogPrinter;
            0    2     1  container  Ljdk/tools/jaotc/binformat/ByteContainer;
    MethodParameters:
           Name  Flags
      container  

  void containersInfo(jdk.tools.jaotc.binformat.BinaryContainer);
    descriptor: (Ljdk/tools/jaotc/binformat/BinaryContainer;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.LogPrinter this
        start local 1 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
         0: .line 137
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getHeaderContainer:()Ljdk/tools/jaotc/binformat/HeaderContainer;
            invokevirtual jdk.tools.jaotc.binformat.HeaderContainer.getContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         1: .line 138
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getConfigContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         2: .line 139
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         3: .line 140
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodsOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         4: .line 141
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesDependenciesContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         5: .line 142
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getStubsOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         6: .line 143
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodMetadataContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         7: .line 144
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeContainer:()Ljdk/tools/jaotc/binformat/CodeContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         8: .line 145
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeSegmentsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         9: .line 146
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getConstantDataContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        10: .line 147
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        11: .line 148
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCountersGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        12: .line 149
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetadataGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        13: .line 150
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodStateContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        14: .line 151
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getOopGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        15: .line 152
            aload 0 /* this */
            aload 1 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetaspaceNamesContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.LogPrinter.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        16: .line 153
            return
        end local 1 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        end local 0 // jdk.tools.jaotc.LogPrinter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Ljdk/tools/jaotc/LogPrinter;
            0   17     1  binaryContainer  Ljdk/tools/jaotc/binformat/BinaryContainer;
    MethodParameters:
                 Name  Flags
      binaryContainer  

  static void openLog();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=0
         0: .line 156
            ldc "jdk.tools.jaotc.logCompilation"
            iconst_0
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 0 /* v */
        start local 0 // int v
         1: .line 157
            iload 0 /* v */
            ifne 4
         2: .line 158
            aconst_null
            putstatic jdk.tools.jaotc.LogPrinter.logFile:Ljava/io/FileWriter;
         3: .line 159
            return
         4: .line 162
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "aot_compilation"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokevirtual java.util.Date.getTime:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ".log"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* fileName */
        start local 1 // java.lang.String fileName
         5: .line 163
            ldc "./"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* fileName */
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* logFilePath */
        start local 2 // java.nio.file.Path logFilePath
         6: .line 164
            aload 2 /* logFilePath */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 3 /* logFileName */
        start local 3 // java.lang.String logFileName
         7: .line 167
            new java.io.FileWriter
            dup
            aload 3 /* logFileName */
            iconst_0
            invokespecial java.io.FileWriter.<init>:(Ljava/lang/String;Z)V
            putstatic jdk.tools.jaotc.LogPrinter.logFile:Ljava/io/FileWriter;
         8: .line 168
            goto 12
      StackMap locals: int java.lang.String java.nio.file.Path java.lang.String
      StackMap stack: java.io.IOException
         9: pop
        10: .line 169
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Unable to open logfile :"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* logFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\nNo logs will be created"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 170
            aconst_null
            putstatic jdk.tools.jaotc.LogPrinter.logFile:Ljava/io/FileWriter;
        12: .line 172
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String logFileName
        end local 2 // java.nio.file.Path logFilePath
        end local 1 // java.lang.String fileName
        end local 0 // int v
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1   13     0            v  I
            5   13     1     fileName  Ljava/lang/String;
            6   13     2  logFilePath  Ljava/nio/file/Path;
            7   13     3  logFileName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           7     8       9  Class java.io.IOException

  static void writeLog(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 175
            getstatic jdk.tools.jaotc.LogPrinter.logFile:Ljava/io/FileWriter;
            ifnull 6
         1: .line 177
            getstatic jdk.tools.jaotc.LogPrinter.logFile:Ljava/io/FileWriter;
            new java.lang.StringBuilder
            dup
            aload 0 /* str */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
         2: .line 178
            getstatic jdk.tools.jaotc.LogPrinter.logFile:Ljava/io/FileWriter;
            invokevirtual java.io.FileWriter.flush:()V
         3: .line 179
            goto 6
      StackMap locals:
      StackMap stack: java.io.IOException
         4: pop
         5: .line 181
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 0 /* str */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 184
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   str  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      str   

  static void closeLog();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 187
            getstatic jdk.tools.jaotc.LogPrinter.logFile:Ljava/io/FileWriter;
            ifnull 4
         1: .line 189
            getstatic jdk.tools.jaotc.LogPrinter.logFile:Ljava/io/FileWriter;
            invokevirtual java.io.FileWriter.close:()V
         2: .line 190
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         3: pop
         4: .line 194
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
}
SourceFile: "LogPrinter.java"