public interface jdk.vm.ci.meta.ProfilingInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.vm.ci.meta.ProfilingInfo
  super_class: java.lang.Object
{
  public abstract int getCodeSize();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract double getBranchTakenProbability(int);
    descriptor: (I)D
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      bci   

  public abstract double[] getSwitchProbabilities(int);
    descriptor: (I)[D
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      bci   

  public abstract jdk.vm.ci.meta.JavaTypeProfile getTypeProfile(int);
    descriptor: (I)Ljdk/vm/ci/meta/JavaTypeProfile;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      bci   

  public abstract jdk.vm.ci.meta.JavaMethodProfile getMethodProfile(int);
    descriptor: (I)Ljdk/vm/ci/meta/JavaMethodProfile;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      bci   

  public abstract jdk.vm.ci.meta.TriState getExceptionSeen(int);
    descriptor: (I)Ljdk/vm/ci/meta/TriState;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      bci   

  public abstract jdk.vm.ci.meta.TriState getNullSeen(int);
    descriptor: (I)Ljdk/vm/ci/meta/TriState;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      bci   

  public abstract int getExecutionCount(int);
    descriptor: (I)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      bci   

  public abstract int getDeoptimizationCount(jdk.vm.ci.meta.DeoptimizationReason);
    descriptor: (Ljdk/vm/ci/meta/DeoptimizationReason;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      reason  

  public abstract boolean setCompilerIRSize(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;I)Z
    MethodParameters:
        Name  Flags
      irType  
      irSize  

  public abstract int getCompilerIRSize(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;)I
    MethodParameters:
        Name  Flags
      irType  

  public abstract boolean isMature();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setMature();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.String toString(jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.String);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=3
        start local 0 // jdk.vm.ci.meta.ProfilingInfo this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // java.lang.String sep
         0: .line 144
            new java.lang.StringBuilder
            dup
            bipush 100
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
         1: .line 145
            aload 1 /* method */
            ifnull 3
         2: .line 146
            aload 3 /* buf */
            ldc "canBeStaticallyBound: %b%s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.canBeStaticallyBound:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_1
            aload 2 /* sep */
            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
         3: .line 148
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 27
         5: .line 149
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getExecutionCount:(I)I
            iconst_m1
            if_icmpeq 7
         6: .line 150
            aload 3 /* buf */
            ldc "executionCount@%d: %d%s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            iload 4 /* i */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getExecutionCount:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* sep */
            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
         7: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getBranchTakenProbability:(I)D
            ldc -1.0
            dcmpl
            ifeq 9
         8: .line 154
            aload 3 /* buf */
            ldc "branchProbability@%d: %.6f%s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            iload 4 /* i */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getBranchTakenProbability:(I)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_2
            aload 2 /* sep */
            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
         9: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getSwitchProbabilities:(I)[D
            astore 5 /* switchProbabilities */
        start local 5 // double[] switchProbabilities
        10: .line 158
            aload 5 /* switchProbabilities */
            ifnull 18
        11: .line 159
            aload 3 /* buf */
            ldc "switchProbabilities@%d:"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* i */
            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
        12: .line 160
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        13: goto 16
        14: .line 161
      StackMap locals: double[] int
      StackMap stack:
            aload 3 /* buf */
            ldc " %.6f"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* switchProbabilities */
            iload 6 /* j */
            daload
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            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
        15: .line 160
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* j */
            aload 5 /* switchProbabilities */
            arraylength
            if_icmplt 14
        end local 6 // int j
        17: .line 163
            aload 3 /* buf */
            aload 2 /* sep */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getExceptionSeen:(I)Ljdk/vm/ci/meta/TriState;
            getstatic jdk.vm.ci.meta.TriState.UNKNOWN:Ljdk/vm/ci/meta/TriState;
            if_acmpeq 20
        19: .line 167
            aload 3 /* buf */
            ldc "exceptionSeen@%d: %s%s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            iload 4 /* i */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getExceptionSeen:(I)Ljdk/vm/ci/meta/TriState;
            invokevirtual jdk.vm.ci.meta.TriState.name:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* sep */
            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
        20: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getNullSeen:(I)Ljdk/vm/ci/meta/TriState;
            getstatic jdk.vm.ci.meta.TriState.UNKNOWN:Ljdk/vm/ci/meta/TriState;
            if_acmpeq 22
        21: .line 171
            aload 3 /* buf */
            ldc "nullSeen@%d: %s%s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            iload 4 /* i */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getNullSeen:(I)Ljdk/vm/ci/meta/TriState;
            invokevirtual jdk.vm.ci.meta.TriState.name:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* sep */
            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
        22: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getTypeProfile:(I)Ljdk/vm/ci/meta/JavaTypeProfile;
            astore 6 /* typeProfile */
        start local 6 // jdk.vm.ci.meta.JavaTypeProfile typeProfile
        23: .line 175
            aload 3 /* buf */
            aload 6 /* typeProfile */
            iload 4 /* i */
            ldc "types"
            aload 2 /* sep */
            invokestatic jdk.vm.ci.meta.MetaUtil.appendProfile:(Ljava/lang/StringBuilder;Ljdk/vm/ci/meta/AbstractJavaProfile;ILjava/lang/String;Ljava/lang/String;)V
        24: .line 177
            aload 0 /* this */
            iload 4 /* i */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getMethodProfile:(I)Ljdk/vm/ci/meta/JavaMethodProfile;
            astore 7 /* methodProfile */
        start local 7 // jdk.vm.ci.meta.JavaMethodProfile methodProfile
        25: .line 178
            aload 3 /* buf */
            aload 7 /* methodProfile */
            iload 4 /* i */
            ldc "methods"
            aload 2 /* sep */
            invokestatic jdk.vm.ci.meta.MetaUtil.appendProfile:(Ljava/lang/StringBuilder;Ljdk/vm/ci/meta/AbstractJavaProfile;ILjava/lang/String;Ljava/lang/String;)V
        end local 7 // jdk.vm.ci.meta.JavaMethodProfile methodProfile
        end local 6 // jdk.vm.ci.meta.JavaTypeProfile typeProfile
        end local 5 // double[] switchProbabilities
        26: .line 148
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 4 /* i */
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getCodeSize:()I
            if_icmplt 5
        end local 4 // int i
        28: .line 181
            iconst_1
            istore 4 /* firstDeoptReason */
        start local 4 // boolean firstDeoptReason
        29: .line 182
            invokestatic jdk.vm.ci.meta.DeoptimizationReason.values:()[Ljdk/vm/ci/meta/DeoptimizationReason;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 38
      StackMap locals: jdk.vm.ci.meta.ProfilingInfo jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String java.lang.StringBuilder int top int int jdk.vm.ci.meta.DeoptimizationReason[]
      StackMap stack:
        30: aload 8
            iload 6
            aaload
            astore 5 /* reason */
        start local 5 // jdk.vm.ci.meta.DeoptimizationReason reason
        31: .line 183
            aload 0 /* this */
            aload 5 /* reason */
            invokeinterface jdk.vm.ci.meta.ProfilingInfo.getDeoptimizationCount:(Ljdk/vm/ci/meta/DeoptimizationReason;)I
            istore 9 /* count */
        start local 9 // int count
        32: .line 184
            iload 9 /* count */
            ifle 37
        33: .line 185
            iload 4 /* firstDeoptReason */
            ifeq 36
        34: .line 186
            aload 3 /* buf */
            ldc "deoptimization history"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* sep */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 187
            iconst_0
            istore 4 /* firstDeoptReason */
        36: .line 189
      StackMap locals: jdk.vm.ci.meta.ProfilingInfo jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.DeoptimizationReason int int jdk.vm.ci.meta.DeoptimizationReason[] int
      StackMap stack:
            aload 3 /* buf */
            ldc " %s: %d%s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* reason */
            invokevirtual jdk.vm.ci.meta.DeoptimizationReason.name:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            iload 9 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* sep */
            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 9 // int count
        end local 5 // jdk.vm.ci.meta.DeoptimizationReason reason
        37: .line 182
      StackMap locals: jdk.vm.ci.meta.ProfilingInfo jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String java.lang.StringBuilder int top int int jdk.vm.ci.meta.DeoptimizationReason[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        38: iload 6
            iload 7
            if_icmplt 30
        39: .line 192
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            ifne 41
        40: .line 193
            ldc ""
            areturn
        41: .line 195
      StackMap locals: jdk.vm.ci.meta.ProfilingInfo jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String java.lang.StringBuilder int
      StackMap stack:
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
        42: .line 196
            aload 5 /* s */
            iconst_0
            aload 5 /* s */
            invokevirtual java.lang.String.length:()I
            aload 2 /* sep */
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 5 // java.lang.String s
        end local 4 // boolean firstDeoptReason
        end local 3 // java.lang.StringBuilder buf
        end local 2 // java.lang.String sep
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // jdk.vm.ci.meta.ProfilingInfo this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   43     0                 this  Ljdk/vm/ci/meta/ProfilingInfo;
            0   43     1               method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   43     2                  sep  Ljava/lang/String;
            1   43     3                  buf  Ljava/lang/StringBuilder;
            4   28     4                    i  I
           10   26     5  switchProbabilities  [D
           13   17     6                    j  I
           23   26     6          typeProfile  Ljdk/vm/ci/meta/JavaTypeProfile;
           25   26     7        methodProfile  Ljdk/vm/ci/meta/JavaMethodProfile;
           29   43     4     firstDeoptReason  Z
           31   37     5               reason  Ljdk/vm/ci/meta/DeoptimizationReason;
           32   37     9                count  I
           42   43     5                    s  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      method  
      sep     
}
SourceFile: "ProfilingInfo.java"