public class jdk.tools.jaotc.CompiledMethodInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.tools.jaotc.CompiledMethodInfo
  super_class: java.lang.Object
{
  private static final int UNINITIALIZED_OFFSET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.code.CompilationResult compilationResult;
    descriptor: Lorg/graalvm/compiler/code/CompilationResult;
    flags: (0x0002) ACC_PRIVATE

  private jdk.tools.jaotc.JavaMethodInfo methodInfo;
    descriptor: Ljdk/tools/jaotc/JavaMethodInfo;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.hotspot.HotSpotCompiledCode code;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
    flags: (0x0002) ACC_PRIVATE

  private int stubsOffset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int totalStubSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets methodOffsets;
    descriptor: Ljdk/tools/jaotc/CompiledMethodInfo$AOTMethodOffsets;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, jdk.tools.jaotc.CompiledMethodInfo$StubInformation> stubs;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/tools/jaotc/CompiledMethodInfo$StubInformation;>;

  private java.util.Map<java.lang.String, jdk.tools.jaotc.AOTCompiledClass$AOTKlassData> dependentKlasses;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/tools/jaotc/AOTCompiledClass$AOTKlassData;>;

  private static final java.util.concurrent.atomic.AtomicInteger methodsCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    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=2, locals=0, args_size=0
         0: .line 40
            ldc Ljdk/tools/jaotc/CompiledMethodInfo;
            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 jdk.tools.jaotc.CompiledMethodInfo.$assertionsDisabled:Z
         3: .line 292
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putstatic jdk.tools.jaotc.CompiledMethodInfo.methodsCount:Ljava/util/concurrent/atomic/AtomicInteger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.code.CompilationResult, jdk.tools.jaotc.JavaMethodInfo);
    descriptor: (Lorg/graalvm/compiler/code/CompilationResult;Ljdk/tools/jaotc/JavaMethodInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 2 // jdk.tools.jaotc.JavaMethodInfo methodInfo
         0: .line 294
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 282
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.tools.jaotc.CompiledMethodInfo.stubs:Ljava/util/Map;
         2: .line 287
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.tools.jaotc.CompiledMethodInfo.dependentKlasses:Ljava/util/Map;
         3: .line 295
            aload 0 /* this */
            aload 2 /* methodInfo */
            invokeinterface jdk.tools.jaotc.JavaMethodInfo.getNameAndSignature:()Ljava/lang/String;
            putfield jdk.tools.jaotc.CompiledMethodInfo.name:Ljava/lang/String;
         4: .line 296
            aload 0 /* this */
            aload 1 /* compilationResult */
            putfield jdk.tools.jaotc.CompiledMethodInfo.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
         5: .line 297
            aload 0 /* this */
            aload 2 /* methodInfo */
            putfield jdk.tools.jaotc.CompiledMethodInfo.methodInfo:Ljdk/tools/jaotc/JavaMethodInfo;
         6: .line 298
            aload 0 /* this */
            iconst_m1
            putfield jdk.tools.jaotc.CompiledMethodInfo.stubsOffset:I
         7: .line 299
            aload 0 /* this */
            new jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets
            dup
            invokespecial jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets.<init>:()V
            putfield jdk.tools.jaotc.CompiledMethodInfo.methodOffsets:Ljdk/tools/jaotc/CompiledMethodInfo$AOTMethodOffsets;
         8: .line 300
            return
        end local 2 // jdk.tools.jaotc.JavaMethodInfo methodInfo
        end local 1 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    9     0               this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    9     1  compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            0    9     2         methodInfo  Ljdk/tools/jaotc/JavaMethodInfo;
    MethodParameters:
                   Name  Flags
      compilationResult  
      methodInfo         

  public java.lang.String name();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 303
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.name:Ljava/lang/String;
            areturn
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public void addMethodOffsets(jdk.tools.jaotc.binformat.BinaryContainer, jdk.tools.jaotc.binformat.ReadOnlyDataContainer);
    descriptor: (Ljdk/tools/jaotc/binformat/BinaryContainer;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        start local 2 // jdk.tools.jaotc.binformat.ReadOnlyDataContainer container
         0: .line 307
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodOffsets:Ljdk/tools/jaotc/CompiledMethodInfo$AOTMethodOffsets;
            aload 1 /* binaryContainer */
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.name:Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addMetaspaceName:(Ljava/lang/String;)I
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets.setNameOffset:(I)V
         1: .line 308
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodOffsets:Ljdk/tools/jaotc/CompiledMethodInfo$AOTMethodOffsets;
            aload 2 /* container */
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.name:Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets.addMethodOffsets:(Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;Ljava/lang/String;)V
         2: .line 309
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.dependentKlasses:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: jdk.tools.jaotc.CompiledMethodInfo jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.binformat.ReadOnlyDataContainer top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.AOTCompiledClass$AOTKlassData
            astore 3 /* data */
        start local 3 // jdk.tools.jaotc.AOTCompiledClass$AOTKlassData data
         4: .line 310
            aload 3 /* data */
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass$AOTKlassData.addDependentMethod:(Ljdk/tools/jaotc/CompiledMethodInfo;)Z
            pop
        end local 3 // jdk.tools.jaotc.AOTCompiledClass$AOTKlassData data
         5: .line 309
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 312
            return
        end local 2 // jdk.tools.jaotc.binformat.ReadOnlyDataContainer container
        end local 1 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    7     1  binaryContainer  Ljdk/tools/jaotc/binformat/BinaryContainer;
            0    7     2        container  Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            4    5     3             data  Ljdk/tools/jaotc/AOTCompiledClass$AOTKlassData;
    MethodParameters:
                 Name  Flags
      binaryContainer  
      container        

  public org.graalvm.compiler.code.CompilationResult getCompilationResult();
    descriptor: ()Lorg/graalvm/compiler/code/CompilationResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 315
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
            areturn
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public jdk.tools.jaotc.JavaMethodInfo getMethodInfo();
    descriptor: ()Ljdk/tools/jaotc/JavaMethodInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 319
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodInfo:Ljdk/tools/jaotc/JavaMethodInfo;
            areturn
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public void setTextSectionOffset(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // int textSectionOffset
         0: .line 323
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodOffsets:Ljdk/tools/jaotc/CompiledMethodInfo$AOTMethodOffsets;
            iload 1 /* textSectionOffset */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets.setTextSectionOffset:(I)V
         1: .line 324
            return
        end local 1 // int textSectionOffset
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    2     1  textSectionOffset  I
    MethodParameters:
                   Name  Flags
      textSectionOffset  

  public int getTextSectionOffset();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 327
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodOffsets:Ljdk/tools/jaotc/CompiledMethodInfo$AOTMethodOffsets;
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets.getTextSectionOffset:()I
            ireturn
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public void setCodeId();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 331
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodOffsets:Ljdk/tools/jaotc/CompiledMethodInfo$AOTMethodOffsets;
            invokestatic jdk.tools.jaotc.CompiledMethodInfo.getNextCodeId:()I
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets.setCodeId:(I)V
         1: .line 332
            return
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public int getCodeId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 335
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodOffsets:Ljdk/tools/jaotc/CompiledMethodInfo$AOTMethodOffsets;
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets.getCodeId:()I
            ireturn
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public static int getMethodsCount();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 339
            getstatic jdk.tools.jaotc.CompiledMethodInfo.methodsCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int getNextCodeId();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 343
            getstatic jdk.tools.jaotc.CompiledMethodInfo.methodsCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int getCodeSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 347
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.stubsOffset:I
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getStubCodeSize:()I
            iadd
            ireturn
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public int getStubCodeSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 351
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.totalStubSize:I
            ireturn
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public void setMetadataOffset(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // int offset
         0: .line 355
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodOffsets:Ljdk/tools/jaotc/CompiledMethodInfo$AOTMethodOffsets;
            iload 1 /* offset */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets.setMetadataOffset:(I)V
         1: .line 356
            return
        end local 1 // int offset
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    2     1  offset  I
    MethodParameters:
        Name  Flags
      offset  

  public void setStubsOffset(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // int offset
         0: .line 362
            aload 0 /* this */
            iload 1 /* offset */
            putfield jdk.tools.jaotc.CompiledMethodInfo.stubsOffset:I
         1: .line 363
            return
        end local 1 // int offset
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    2     1  offset  I
    MethodParameters:
        Name  Flags
      offset  

  public int getStubsOffset();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 366
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.stubsOffset:I
            ireturn
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public void setMetadataGotOffset(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // int metadataGotOffset
         0: .line 370
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodOffsets:Ljdk/tools/jaotc/CompiledMethodInfo$AOTMethodOffsets;
            iload 1 /* metadataGotOffset */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets.setMetadataGotOffset:(I)V
         1: .line 371
            return
        end local 1 // int metadataGotOffset
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    2     1  metadataGotOffset  I
    MethodParameters:
                   Name  Flags
      metadataGotOffset  

  public void setMetadataGotSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // int length
         0: .line 374
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodOffsets:Ljdk/tools/jaotc/CompiledMethodInfo$AOTMethodOffsets;
            iload 1 /* length */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets.setMetadataGotSize:(I)V
         1: .line 375
            return
        end local 1 // int length
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    2     1  length  I
    MethodParameters:
        Name  Flags
      length  

  public void addStubCode(java.lang.String, jdk.tools.jaotc.CompiledMethodInfo$StubInformation);
    descriptor: (Ljava/lang/String;Ljdk/tools/jaotc/CompiledMethodInfo$StubInformation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // java.lang.String call
        start local 2 // jdk.tools.jaotc.CompiledMethodInfo$StubInformation stub
         0: .line 378
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.stubs:Ljava/util/Map;
            aload 1 /* call */
            aload 2 /* stub */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 379
            aload 0 /* this */
            dup
            getfield jdk.tools.jaotc.CompiledMethodInfo.totalStubSize:I
            aload 2 /* stub */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo$StubInformation.getSize:()I
            iadd
            putfield jdk.tools.jaotc.CompiledMethodInfo.totalStubSize:I
         2: .line 380
            return
        end local 2 // jdk.tools.jaotc.CompiledMethodInfo$StubInformation stub
        end local 1 // java.lang.String call
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    3     1  call  Ljava/lang/String;
            0    3     2  stub  Ljdk/tools/jaotc/CompiledMethodInfo$StubInformation;
    MethodParameters:
      Name  Flags
      call  
      stub  

  public jdk.tools.jaotc.CompiledMethodInfo$StubInformation getStubFor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/tools/jaotc/CompiledMethodInfo$StubInformation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // java.lang.String call
         0: .line 383
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.stubs:Ljava/util/Map;
            aload 1 /* call */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.tools.jaotc.CompiledMethodInfo$StubInformation
            astore 2 /* stub */
        start local 2 // jdk.tools.jaotc.CompiledMethodInfo$StubInformation stub
         1: .line 384
            getstatic jdk.tools.jaotc.CompiledMethodInfo.$assertionsDisabled:Z
            ifne 2
            aload 2 /* stub */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "missing stub for call "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* call */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 385
      StackMap locals: jdk.tools.jaotc.CompiledMethodInfo$StubInformation
      StackMap stack:
            aload 2 /* stub */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo$StubInformation.verify:()V
         3: .line 386
            aload 2 /* stub */
            areturn
        end local 2 // jdk.tools.jaotc.CompiledMethodInfo$StubInformation stub
        end local 1 // java.lang.String call
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    4     1  call  Ljava/lang/String;
            1    4     2  stub  Ljdk/tools/jaotc/CompiledMethodInfo$StubInformation;
    MethodParameters:
      Name  Flags
      call  

  public void addDependentKlassData(jdk.tools.jaotc.binformat.BinaryContainer, jdk.vm.ci.hotspot.HotSpotResolvedObjectType);
    descriptor: (Ljdk/tools/jaotc/binformat/BinaryContainer;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        start local 2 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType type
         0: .line 390
            aload 1 /* binaryContainer */
            aload 2 /* type */
            invokestatic jdk.tools.jaotc.AOTCompiledClass.addFingerprintKlassData:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)Ljdk/tools/jaotc/AOTCompiledClass$AOTKlassData;
            astore 3 /* klassData */
        start local 3 // jdk.tools.jaotc.AOTCompiledClass$AOTKlassData klassData
         1: .line 391
            aload 2 /* type */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.getName:()Ljava/lang/String;
            astore 4 /* klassName */
        start local 4 // java.lang.String klassName
         2: .line 393
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.dependentKlasses:Ljava/util/Map;
            aload 4 /* klassName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 394
            getstatic jdk.tools.jaotc.CompiledMethodInfo.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.dependentKlasses:Ljava/util/Map;
            aload 4 /* klassName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 3 /* klassData */
            if_acmpeq 5
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "duplicated data for klass: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* klassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 396
      StackMap locals: jdk.tools.jaotc.AOTCompiledClass$AOTKlassData java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.dependentKlasses:Ljava/util/Map;
            aload 4 /* klassName */
            aload 3 /* klassData */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 398
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String klassName
        end local 3 // jdk.tools.jaotc.AOTCompiledClass$AOTKlassData klassData
        end local 2 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType type
        end local 1 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    6     1  binaryContainer  Ljdk/tools/jaotc/binformat/BinaryContainer;
            0    6     2             type  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            1    6     3        klassData  Ljdk/tools/jaotc/AOTCompiledClass$AOTKlassData;
            2    6     4        klassName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      binaryContainer  
      type             

  public jdk.tools.jaotc.AOTCompiledClass$AOTKlassData getDependentKlassData(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/tools/jaotc/AOTCompiledClass$AOTKlassData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // java.lang.String klassName
         0: .line 401
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.dependentKlasses:Ljava/util/Map;
            aload 1 /* klassName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.tools.jaotc.AOTCompiledClass$AOTKlassData
            areturn
        end local 1 // java.lang.String klassName
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    1     1  klassName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      klassName  

  public boolean hasMark(jdk.vm.ci.code.site.Site, jdk.tools.jaotc.MarkId);
    descriptor: (Ljdk/vm/ci/code/site/Site;Ljdk/tools/jaotc/MarkId;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
        start local 1 // jdk.vm.ci.code.site.Site call
        start local 2 // jdk.tools.jaotc.MarkId id
         0: .line 405
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.getMarks:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: jdk.tools.jaotc.CompiledMethodInfo jdk.vm.ci.code.site.Site jdk.tools.jaotc.MarkId top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.code.site.Mark
            astore 3 /* m */
        start local 3 // jdk.vm.ci.code.site.Mark m
         2: .line 409
            aload 3 /* m */
            getfield jdk.vm.ci.code.site.Mark.pcOffset:I
            bipush -8
            iand
            bipush 7
            iadd
            istore 5 /* adjOffset */
        start local 5 // int adjOffset
         3: .line 411
            aload 1 /* call */
            getfield jdk.vm.ci.code.site.Site.pcOffset:I
            iload 5 /* adjOffset */
            if_icmpne 5
            aload 3 /* m */
            getfield jdk.vm.ci.code.site.Mark.id:Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic jdk.tools.jaotc.MarkId.getEnum:(I)Ljdk/tools/jaotc/MarkId;
            aload 2 /* id */
            if_acmpne 5
         4: .line 412
            iconst_1
            ireturn
        end local 5 // int adjOffset
        end local 3 // jdk.vm.ci.code.site.Mark m
         5: .line 405
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 415
            iconst_0
            ireturn
        end local 2 // jdk.tools.jaotc.MarkId id
        end local 1 // jdk.vm.ci.code.site.Site call
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljdk/tools/jaotc/CompiledMethodInfo;
            0    7     1       call  Ljdk/vm/ci/code/site/Site;
            0    7     2         id  Ljdk/tools/jaotc/MarkId;
            2    5     3          m  Ljdk/vm/ci/code/site/Mark;
            3    5     5  adjOffset  I
    MethodParameters:
      Name  Flags
      call  
      id    

  public java.lang.String asTag();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 419
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodInfo:Ljdk/tools/jaotc/JavaMethodInfo;
            invokeinterface jdk.tools.jaotc.JavaMethodInfo.getSymbolName:()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 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public jdk.vm.ci.hotspot.HotSpotCompiledCode compiledCode();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 423
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.code:Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
            ifnonnull 2
         1: .line 424
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.methodInfo:Ljdk/tools/jaotc/JavaMethodInfo;
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
            invokeinterface jdk.tools.jaotc.JavaMethodInfo.compiledCode:(Lorg/graalvm/compiler/code/CompilationResult;)Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
            putfield jdk.tools.jaotc.CompiledMethodInfo.code:Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
         2: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.CompiledMethodInfo.code:Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
            areturn
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 431
            aload 0 /* this */
            aconst_null
            putfield jdk.tools.jaotc.CompiledMethodInfo.dependentKlasses:Ljava/util/Map;
         1: .line 432
            aload 0 /* this */
            aconst_null
            putfield jdk.tools.jaotc.CompiledMethodInfo.name:Ljava/lang/String;
         2: .line 433
            return
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;

  public void clearCompileData();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.CompiledMethodInfo this
         0: .line 436
            aload 0 /* this */
            aconst_null
            putfield jdk.tools.jaotc.CompiledMethodInfo.code:Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
         1: .line 437
            aload 0 /* this */
            aconst_null
            putfield jdk.tools.jaotc.CompiledMethodInfo.stubs:Ljava/util/Map;
         2: .line 438
            aload 0 /* this */
            aconst_null
            putfield jdk.tools.jaotc.CompiledMethodInfo.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
         3: .line 439
            aload 0 /* this */
            aconst_null
            putfield jdk.tools.jaotc.CompiledMethodInfo.methodInfo:Ljdk/tools/jaotc/JavaMethodInfo;
         4: .line 440
            return
        end local 0 // jdk.tools.jaotc.CompiledMethodInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/tools/jaotc/CompiledMethodInfo;
}
SourceFile: "CompiledMethodInfo.java"
NestMembers:
  jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets  jdk.tools.jaotc.CompiledMethodInfo$StubInformation
InnerClasses:
  public AOTKlassData = jdk.tools.jaotc.AOTCompiledClass$AOTKlassData of jdk.tools.jaotc.AOTCompiledClass
  private AOTMethodOffsets = jdk.tools.jaotc.CompiledMethodInfo$AOTMethodOffsets of jdk.tools.jaotc.CompiledMethodInfo
  public StubInformation = jdk.tools.jaotc.CompiledMethodInfo$StubInformation of jdk.tools.jaotc.CompiledMethodInfo