public final class org.graalvm.compiler.core.CompilationPrinter
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.core.CompilationPrinter
  super_class: java.lang.Object
{
  private final org.graalvm.compiler.core.common.CompilationIdentifier id;
    descriptor: Lorg/graalvm/compiler/core/common/CompilationIdentifier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.meta.JavaMethod method;
    descriptor: Ljdk/vm/ci/meta/JavaMethod;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int entryBCI;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long start;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long allocatedBytesBefore;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final org.graalvm.compiler.core.CompilationPrinter DISABLED;
    descriptor: Lorg/graalvm/compiler/core/CompilationPrinter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 69
            new org.graalvm.compiler.core.CompilationPrinter
            dup
            invokespecial org.graalvm.compiler.core.CompilationPrinter.<init>:()V
            putstatic org.graalvm.compiler.core.CompilationPrinter.DISABLED:Lorg/graalvm/compiler/core/CompilationPrinter;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.graalvm.compiler.core.CompilationPrinter begin(org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.core.common.CompilationIdentifier, jdk.vm.ci.meta.JavaMethod, int);
    descriptor: (Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Ljdk/vm/ci/meta/JavaMethod;I)Lorg/graalvm/compiler/core/CompilationPrinter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.options.OptionValues options
        start local 1 // org.graalvm.compiler.core.common.CompilationIdentifier id
        start local 2 // jdk.vm.ci.meta.JavaMethod method
        start local 3 // int entryBCI
         0: .line 63
            getstatic org.graalvm.compiler.core.GraalCompilerOptions.PrintCompilation:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 2
            invokestatic org.graalvm.compiler.debug.TTY.isSuppressed:()Z
            ifne 2
         1: .line 64
            new org.graalvm.compiler.core.CompilationPrinter
            dup
            aload 1 /* id */
            aload 2 /* method */
            iload 3 /* entryBCI */
            invokespecial org.graalvm.compiler.core.CompilationPrinter.<init>:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;Ljdk/vm/ci/meta/JavaMethod;I)V
            areturn
         2: .line 66
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.CompilationPrinter.DISABLED:Lorg/graalvm/compiler/core/CompilationPrinter;
            areturn
        end local 3 // int entryBCI
        end local 2 // jdk.vm.ci.meta.JavaMethod method
        end local 1 // org.graalvm.compiler.core.common.CompilationIdentifier id
        end local 0 // org.graalvm.compiler.options.OptionValues options
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   options  Lorg/graalvm/compiler/options/OptionValues;
            0    3     1        id  Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            0    3     2    method  Ljdk/vm/ci/meta/JavaMethod;
            0    3     3  entryBCI  I
    MethodParameters:
          Name  Flags
      options   
      id        
      method    
      entryBCI  

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.CompilationPrinter this
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.core.CompilationPrinter.method:Ljdk/vm/ci/meta/JavaMethod;
         2: .line 73
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.core.CompilationPrinter.id:Lorg/graalvm/compiler/core/common/CompilationIdentifier;
         3: .line 74
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.core.CompilationPrinter.entryBCI:I
         4: .line 75
            aload 0 /* this */
            ldc -1
            putfield org.graalvm.compiler.core.CompilationPrinter.start:J
         5: .line 76
            aload 0 /* this */
            ldc -1
            putfield org.graalvm.compiler.core.CompilationPrinter.allocatedBytesBefore:J
         6: .line 77
            return
        end local 0 // org.graalvm.compiler.core.CompilationPrinter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/compiler/core/CompilationPrinter;

  private void <init>(org.graalvm.compiler.core.common.CompilationIdentifier, jdk.vm.ci.meta.JavaMethod, int);
    descriptor: (Lorg/graalvm/compiler/core/common/CompilationIdentifier;Ljdk/vm/ci/meta/JavaMethod;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.core.CompilationPrinter this
        start local 1 // org.graalvm.compiler.core.common.CompilationIdentifier id
        start local 2 // jdk.vm.ci.meta.JavaMethod method
        start local 3 // int entryBCI
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 80
            aload 0 /* this */
            aload 2 /* method */
            putfield org.graalvm.compiler.core.CompilationPrinter.method:Ljdk/vm/ci/meta/JavaMethod;
         2: .line 81
            aload 0 /* this */
            aload 1 /* id */
            putfield org.graalvm.compiler.core.CompilationPrinter.id:Lorg/graalvm/compiler/core/common/CompilationIdentifier;
         3: .line 82
            aload 0 /* this */
            iload 3 /* entryBCI */
            putfield org.graalvm.compiler.core.CompilationPrinter.entryBCI:I
         4: .line 84
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            putfield org.graalvm.compiler.core.CompilationPrinter.start:J
         5: .line 85
            aload 0 /* this */
            invokestatic org.graalvm.compiler.serviceprovider.GraalServices.isThreadAllocatedMemorySupported:()Z
            ifeq 6
            invokestatic org.graalvm.compiler.serviceprovider.GraalServices.getCurrentThreadAllocatedBytes:()J
            goto 7
      StackMap locals: org.graalvm.compiler.core.CompilationPrinter org.graalvm.compiler.core.common.CompilationIdentifier jdk.vm.ci.meta.JavaMethod int
      StackMap stack: org.graalvm.compiler.core.CompilationPrinter
         6: ldc -1
      StackMap locals: org.graalvm.compiler.core.CompilationPrinter org.graalvm.compiler.core.common.CompilationIdentifier jdk.vm.ci.meta.JavaMethod int
      StackMap stack: org.graalvm.compiler.core.CompilationPrinter long
         7: putfield org.graalvm.compiler.core.CompilationPrinter.allocatedBytesBefore:J
         8: .line 86
            return
        end local 3 // int entryBCI
        end local 2 // jdk.vm.ci.meta.JavaMethod method
        end local 1 // org.graalvm.compiler.core.common.CompilationIdentifier id
        end local 0 // org.graalvm.compiler.core.CompilationPrinter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/graalvm/compiler/core/CompilationPrinter;
            0    9     1        id  Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            0    9     2    method  Ljdk/vm/ci/meta/JavaMethod;
            0    9     3  entryBCI  I
    MethodParameters:
          Name  Flags
      id        
      method    
      entryBCI  

  private java.lang.String getMethodDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.CompilationPrinter this
         0: .line 89
            ldc "%-30s %-70s %-45s %-50s %s"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.core.CompilationPrinter.id:Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            getstatic org.graalvm.compiler.core.common.CompilationIdentifier$Verbosity.ID:Lorg/graalvm/compiler/core/common/CompilationIdentifier$Verbosity;
            invokeinterface org.graalvm.compiler.core.common.CompilationIdentifier.toString:(Lorg/graalvm/compiler/core/common/CompilationIdentifier$Verbosity;)Ljava/lang/String;
            aastore
            dup
            iconst_1
         1: .line 90
            aload 0 /* this */
            getfield org.graalvm.compiler.core.CompilationPrinter.method:Ljdk/vm/ci/meta/JavaMethod;
            invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.core.CompilationPrinter.method:Ljdk/vm/ci/meta/JavaMethod;
            invokeinterface jdk.vm.ci.meta.JavaMethod.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
         2: .line 91
            aload 0 /* this */
            getfield org.graalvm.compiler.core.CompilationPrinter.method:Ljdk/vm/ci/meta/JavaMethod;
            invokeinterface jdk.vm.ci.meta.JavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokeinterface jdk.vm.ci.meta.Signature.toMethodDescriptor:()Ljava/lang/String;
            aastore
            dup
            iconst_4
         3: .line 92
            aload 0 /* this */
            getfield org.graalvm.compiler.core.CompilationPrinter.entryBCI:I
            iconst_m1
            if_icmpne 4
            ldc ""
            goto 5
      StackMap locals: org.graalvm.compiler.core.CompilationPrinter
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
         4: new java.lang.StringBuilder
            dup
            ldc "(OSR@"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.core.CompilationPrinter.entryBCI:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: org.graalvm.compiler.core.CompilationPrinter
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
         5: aastore
         6: .line 89
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.core.CompilationPrinter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/compiler/core/CompilationPrinter;

  public void finish(org.graalvm.compiler.code.CompilationResult);
    descriptor: (Lorg/graalvm/compiler/code/CompilationResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=2
        start local 0 // org.graalvm.compiler.core.CompilationPrinter this
        start local 1 // org.graalvm.compiler.code.CompilationResult result
         0: .line 100
            aload 0 /* this */
            getfield org.graalvm.compiler.core.CompilationPrinter.id:Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            ifnull 15
         1: .line 101
            invokestatic java.lang.System.nanoTime:()J
            lstore 2 /* stop */
        start local 2 // long stop
         2: .line 102
            lload 2 /* stop */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.CompilationPrinter.start:J
            lsub
            ldc 1000
            ldiv
            lstore 4 /* duration */
        start local 4 // long duration
         3: .line 103
            aload 1 /* result */
            ifnull 4
            aload 1 /* result */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getTargetCodeSize:()I
            goto 5
      StackMap locals: long long
      StackMap stack:
         4: iconst_m1
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* targetCodeSize */
        start local 6 // int targetCodeSize
         6: .line 104
            aload 1 /* result */
            ifnull 7
            aload 1 /* result */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getBytecodeSize:()I
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 7 /* bytecodeSize */
        start local 7 // int bytecodeSize
         9: .line 105
            aload 0 /* this */
            getfield org.graalvm.compiler.core.CompilationPrinter.allocatedBytesBefore:J
            ldc -1
            lcmp
            ifne 12
        10: .line 106
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.CompilationPrinter.getMethodDescription:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " | %4dus %5dB bytecodes %5dB codesize"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            lload 4 /* duration */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            iload 7 /* bytecodeSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 6 /* targetCodeSize */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;)V
        11: .line 107
            goto 15
        12: .line 108
      StackMap locals: int
      StackMap stack:
            invokestatic org.graalvm.compiler.serviceprovider.GraalServices.getCurrentThreadAllocatedBytes:()J
            lstore 8 /* allocatedBytesAfter */
        start local 8 // long allocatedBytesAfter
        13: .line 109
            lload 8 /* allocatedBytesAfter */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.CompilationPrinter.allocatedBytesBefore:J
            lsub
            ldc 1024
            ldiv
            lstore 10 /* allocatedKBytes */
        start local 10 // long allocatedKBytes
        14: .line 110
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.CompilationPrinter.getMethodDescription:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " | %4dus %5dB bytecodes %5dB codesize %5dkB allocated"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            lload 4 /* duration */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            iload 7 /* bytecodeSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 6 /* targetCodeSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            lload 10 /* allocatedKBytes */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;)V
        end local 10 // long allocatedKBytes
        end local 8 // long allocatedBytesAfter
        end local 7 // int bytecodeSize
        end local 6 // int targetCodeSize
        end local 4 // long duration
        end local 2 // long stop
        15: .line 113
      StackMap locals: org.graalvm.compiler.core.CompilationPrinter org.graalvm.compiler.code.CompilationResult
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.code.CompilationResult result
        end local 0 // org.graalvm.compiler.core.CompilationPrinter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   16     0                 this  Lorg/graalvm/compiler/core/CompilationPrinter;
            0   16     1               result  Lorg/graalvm/compiler/code/CompilationResult;
            2   15     2                 stop  J
            3   15     4             duration  J
            6   15     6       targetCodeSize  I
            9   15     7         bytecodeSize  I
           13   15     8  allocatedBytesAfter  J
           14   15    10      allocatedKBytes  J
    MethodParameters:
        Name  Flags
      result  
}
SourceFile: "CompilationPrinter.java"
InnerClasses:
  public final Verbosity = org.graalvm.compiler.core.common.CompilationIdentifier$Verbosity of org.graalvm.compiler.core.common.CompilationIdentifier