final class jdk.tools.jaotc.MetadataBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.tools.jaotc.MetadataBuilder
  super_class: java.lang.Object
{
  private final jdk.tools.jaotc.DataBuilder dataBuilder;
    descriptor: Ljdk/tools/jaotc/DataBuilder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.tools.jaotc.binformat.BinaryContainer binaryContainer;
    descriptor: Ljdk/tools/jaotc/binformat/BinaryContainer;
    flags: (0x0012) ACC_PRIVATE, 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=1, locals=0, args_size=0
         0: .line 49
            ldc Ljdk/tools/jaotc/MetadataBuilder;
            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.MetadataBuilder.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.tools.jaotc.DataBuilder);
    descriptor: (Ljdk/tools/jaotc/DataBuilder;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.MetadataBuilder this
        start local 1 // jdk.tools.jaotc.DataBuilder dataBuilder
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            aload 1 /* dataBuilder */
            putfield jdk.tools.jaotc.MetadataBuilder.dataBuilder:Ljdk/tools/jaotc/DataBuilder;
         2: .line 57
            aload 0 /* this */
            aload 1 /* dataBuilder */
            invokevirtual jdk.tools.jaotc.DataBuilder.getBinaryContainer:()Ljdk/tools/jaotc/binformat/BinaryContainer;
            putfield jdk.tools.jaotc.MetadataBuilder.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
         3: .line 58
            return
        end local 1 // jdk.tools.jaotc.DataBuilder dataBuilder
        end local 0 // jdk.tools.jaotc.MetadataBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljdk/tools/jaotc/MetadataBuilder;
            0    4     1  dataBuilder  Ljdk/tools/jaotc/DataBuilder;
    MethodParameters:
             Name  Flags
      dataBuilder  

  void processMetadata(java.util.List<jdk.tools.jaotc.AOTCompiledClass>, jdk.tools.jaotc.AOTCompiledClass);
    descriptor: (Ljava/util/List;Ljdk/tools/jaotc/AOTCompiledClass;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // jdk.tools.jaotc.MetadataBuilder this
        start local 1 // java.util.List classes
        start local 2 // jdk.tools.jaotc.AOTCompiledClass stubCompiledCode
         0: .line 64
            aload 1 /* classes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: jdk.tools.jaotc.MetadataBuilder java.util.List jdk.tools.jaotc.AOTCompiledClass top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.AOTCompiledClass
            astore 3 /* c */
        start local 3 // jdk.tools.jaotc.AOTCompiledClass c
         2: .line 65
            aload 0 /* this */
            aload 3 /* c */
            invokevirtual jdk.tools.jaotc.MetadataBuilder.processMetadataClass:(Ljdk/tools/jaotc/AOTCompiledClass;)V
        end local 3 // jdk.tools.jaotc.AOTCompiledClass c
         3: .line 64
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 67
            aload 0 /* this */
            aload 2 /* stubCompiledCode */
            invokevirtual jdk.tools.jaotc.MetadataBuilder.processMetadataClass:(Ljdk/tools/jaotc/AOTCompiledClass;)V
         5: .line 68
            return
        end local 2 // jdk.tools.jaotc.AOTCompiledClass stubCompiledCode
        end local 1 // java.util.List classes
        end local 0 // jdk.tools.jaotc.MetadataBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Ljdk/tools/jaotc/MetadataBuilder;
            0    6     1           classes  Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;
            0    6     2  stubCompiledCode  Ljdk/tools/jaotc/AOTCompiledClass;
            2    3     3                 c  Ljdk/tools/jaotc/AOTCompiledClass;
    Signature: (Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;Ljdk/tools/jaotc/AOTCompiledClass;)V
    MethodParameters:
                  Name  Flags
      classes           
      stubCompiledCode  

  private void processMetadataClass(jdk.tools.jaotc.AOTCompiledClass);
    descriptor: (Ljdk/tools/jaotc/AOTCompiledClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.MetadataBuilder this
        start local 1 // jdk.tools.jaotc.AOTCompiledClass c
         0: .line 71
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual jdk.tools.jaotc.MetadataBuilder.processInfopointsAndMarks:(Ljdk/tools/jaotc/AOTCompiledClass;)V
         1: .line 72
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual jdk.tools.jaotc.MetadataBuilder.createMethodMetadata:(Ljdk/tools/jaotc/AOTCompiledClass;)V
         2: .line 73
            return
        end local 1 // jdk.tools.jaotc.AOTCompiledClass c
        end local 0 // jdk.tools.jaotc.MetadataBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/tools/jaotc/MetadataBuilder;
            0    3     1     c  Ljdk/tools/jaotc/AOTCompiledClass;
    MethodParameters:
      Name  Flags
      c     

  private void createMethodMetadata(jdk.tools.jaotc.AOTCompiledClass);
    descriptor: (Ljdk/tools/jaotc/AOTCompiledClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=36, args_size=2
        start local 0 // jdk.tools.jaotc.MetadataBuilder this
        start local 1 // jdk.tools.jaotc.AOTCompiledClass compiledClass
         0: .line 82
            aload 0 /* this */
            getfield jdk.tools.jaotc.MetadataBuilder.dataBuilder:Ljdk/tools/jaotc/DataBuilder;
            invokevirtual jdk.tools.jaotc.DataBuilder.getBackend:()Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;
            invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.getRuntime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            astore 2 /* runtime */
        start local 2 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
         1: .line 83
            aload 0 /* this */
            getfield jdk.tools.jaotc.MetadataBuilder.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodMetadataContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            astore 3 /* methodMetadataContainer */
        start local 3 // jdk.tools.jaotc.binformat.ByteContainer methodMetadataContainer
         2: .line 86
            aload 1 /* compiledClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.getCompiledMethods:()Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 73
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.CompiledMethodInfo
            astore 4 /* methodInfo */
        start local 4 // jdk.tools.jaotc.CompiledMethodInfo methodInfo
         4: .line 88
            aload 3 /* methodMetadataContainer */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteStreamSize:()I
            istore 6 /* startOffset */
        start local 6 // int startOffset
         5: .line 89
            getstatic jdk.tools.jaotc.MetadataBuilder.$assertionsDisabled:Z
            ifne 6
            iload 6 /* startOffset */
            bipush 8
            irem
            ifeq 6
            new java.lang.AssertionError
            dup
            ldc "Must be aligned on 8"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 91
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator int
      StackMap stack:
            aload 4 /* methodInfo */
            iload 6 /* startOffset */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataOffset:(I)V
         7: .line 93
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.compiledCode:()Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
            astore 7 /* compiledMethod */
        start local 7 // jdk.vm.ci.hotspot.HotSpotCompiledCode compiledMethod
         8: .line 95
            new jdk.vm.ci.hotspot.HotSpotMetaData
            dup
            aload 2 /* runtime */
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            aload 7 /* compiledMethod */
            invokespecial jdk.vm.ci.hotspot.HotSpotMetaData.<init>:(Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/hotspot/HotSpotCompiledCode;)V
            astore 8 /* metaData */
        start local 8 // jdk.vm.ci.hotspot.HotSpotMetaData metaData
         9: .line 97
            aload 8 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.pcDescBytes:()[B
            astore 9 /* pcDesc */
        start local 9 // byte[] pcDesc
        10: .line 98
            aload 8 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.scopesDescBytes:()[B
            astore 10 /* scopeDesc */
        start local 10 // byte[] scopeDesc
        11: .line 99
            aload 8 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.relocBytes:()[B
            astore 11 /* relocationInfo */
        start local 11 // byte[] relocationInfo
        12: .line 100
            aload 8 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.oopMaps:()[B
            astore 12 /* oopMapInfo */
        start local 12 // byte[] oopMapInfo
        13: .line 102
            aload 8 /* metaData */
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalServices.getImplicitExceptionBytes:(Ljdk/vm/ci/hotspot/HotSpotMetaData;)[B
            astore 13 /* implicitExceptionBytes */
        start local 13 // byte[] implicitExceptionBytes
        14: .line 103
            aload 8 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.exceptionBytes:()[B
            astore 14 /* exceptionBytes */
        start local 14 // byte[] exceptionBytes
        15: .line 106
            new jdk.tools.jaotc.utils.NativeOrderOutputStream
            dup
            invokespecial jdk.tools.jaotc.utils.NativeOrderOutputStream.<init>:()V
            astore 15 /* metadataStream */
        start local 15 // jdk.tools.jaotc.utils.NativeOrderOutputStream metadataStream
        16: .line 109
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCodeSize:()I
            istore 16 /* codeSize */
        start local 16 // int codeSize
        17: .line 112
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.getMarks:()Ljava/util/List;
            invokestatic jdk.tools.jaotc.CodeOffsets.buildFrom:(Ljava/util/List;)Ljdk/tools/jaotc/CodeOffsets;
            astore 17 /* co */
        start local 17 // jdk.tools.jaotc.CodeOffsets co
        18: .line 113
            aload 17 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.entry:()I
            istore 18 /* unverifiedEntry */
        start local 18 // int unverifiedEntry
        19: .line 114
            aload 17 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.verifiedEntry:()I
            istore 19 /* verifiedEntry */
        start local 19 // int verifiedEntry
        20: .line 115
            aload 17 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.exceptionHandler:()I
            istore 20 /* exceptionHandler */
        start local 20 // int exceptionHandler
        21: .line 116
            aload 17 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.deoptHandler:()I
            istore 21 /* deoptHandler */
        start local 21 // int deoptHandler
        22: .line 117
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.getTotalFrameSize:()I
            istore 22 /* frameSize */
        start local 22 // int frameSize
        23: .line 118
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.getCustomStackArea:()Ljdk/vm/ci/code/StackSlot;
            astore 23 /* deoptRescueSlot */
        start local 23 // jdk.vm.ci.code.StackSlot deoptRescueSlot
        24: .line 119
            aload 23 /* deoptRescueSlot */
            ifnull 25
            aload 23 /* deoptRescueSlot */
            iload 22 /* frameSize */
            invokevirtual jdk.vm.ci.code.StackSlot.getOffset:(I)I
            goto 26
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator int jdk.vm.ci.hotspot.HotSpotCompiledCode jdk.vm.ci.hotspot.HotSpotMetaData byte[] byte[] byte[] byte[] byte[] byte[] jdk.tools.jaotc.utils.NativeOrderOutputStream int jdk.tools.jaotc.CodeOffsets int int int int int jdk.vm.ci.code.StackSlot
      StackMap stack:
        25: iconst_m1
      StackMap locals:
      StackMap stack: int
        26: istore 24 /* origPcOffset */
        start local 24 // int origPcOffset
        27: .line 122
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getStubsOffset:()I
            istore 25 /* stubsOffset */
        start local 25 // int stubsOffset
        28: .line 124
            aload 0 /* this */
            getfield jdk.tools.jaotc.MetadataBuilder.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            aload 8 /* metaData */
            aload 4 /* methodInfo */
            invokestatic jdk.tools.jaotc.MetadataBuilder.addMetadataEntries:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljdk/vm/ci/hotspot/HotSpotMetaData;Ljdk/tools/jaotc/CompiledMethodInfo;)I
            istore 26 /* offset */
        start local 26 // int offset
        29: .line 125
            aload 4 /* methodInfo */
            iload 26 /* offset */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataGotOffset:(I)V
        30: .line 126
            aload 4 /* methodInfo */
            aload 8 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.metadataEntries:()[Ljava/lang/Object;
            arraylength
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataGotSize:(I)V
        31: .line 127
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.hasUnsafeAccess:()Z
            ifeq 32
            iconst_1
            goto 33
      StackMap locals: int int int
      StackMap stack:
        32: iconst_0
      StackMap locals:
      StackMap stack: int
        33: istore 27 /* unsafeAccess */
        start local 27 // int unsafeAccess
        34: .line 130
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 28 /* totalSize */
        start local 28 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt totalSize
        35: .line 133
            aload 15 /* metadataStream */
            iload 16 /* codeSize */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        36: .line 134
            iload 18 /* unverifiedEntry */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        37: .line 135
            iload 19 /* verifiedEntry */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        38: .line 136
            iload 20 /* exceptionHandler */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        39: .line 137
            iload 21 /* deoptHandler */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        40: .line 138
            iload 25 /* stubsOffset */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        41: .line 139
            iload 22 /* frameSize */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        42: .line 140
            iload 24 /* origPcOffset */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        43: .line 141
            iload 27 /* unsafeAccess */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        44: .line 144
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 29 /* pcDescOffset */
        start local 29 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt pcDescOffset
        45: .line 145
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 30 /* scopeOffset */
        start local 30 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt scopeOffset
        46: .line 146
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 31 /* relocationOffset */
        start local 31 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt relocationOffset
        47: .line 147
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 32 /* exceptionOffset */
        start local 32 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt exceptionOffset
        48: .line 148
            aconst_null
            astore 33 /* implictTableOffset */
        start local 33 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt implictTableOffset
        49: .line 149
            aload 13 /* implicitExceptionBytes */
            ifnull 51
        50: .line 150
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 33 /* implictTableOffset */
        51: .line 152
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator int jdk.vm.ci.hotspot.HotSpotCompiledCode jdk.vm.ci.hotspot.HotSpotMetaData byte[] byte[] byte[] byte[] byte[] byte[] jdk.tools.jaotc.utils.NativeOrderOutputStream int jdk.tools.jaotc.CodeOffsets int int int int int jdk.vm.ci.code.StackSlot int int int int jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt
      StackMap stack:
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 34 /* oopMapOffset */
        start local 34 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt oopMapOffset
        52: .line 153
            aload 15 /* metadataStream */
            bipush 8
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        53: .line 155
            aload 29 /* pcDescOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        54: .line 156
            aload 15 /* metadataStream */
            aload 9 /* pcDesc */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            bipush 8
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        55: .line 158
            aload 30 /* scopeOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        56: .line 159
            aload 15 /* metadataStream */
            aload 10 /* scopeDesc */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            bipush 8
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        57: .line 161
            aload 31 /* relocationOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        58: .line 162
            aload 15 /* metadataStream */
            aload 11 /* relocationInfo */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            bipush 8
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        59: .line 164
            aload 32 /* exceptionOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        60: .line 165
            aload 15 /* metadataStream */
            aload 14 /* exceptionBytes */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            bipush 8
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        61: .line 167
            aload 13 /* implicitExceptionBytes */
            ifnull 64
        62: .line 168
            aload 33 /* implictTableOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        63: .line 169
            aload 15 /* metadataStream */
            aload 13 /* implicitExceptionBytes */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            bipush 8
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        64: .line 173
      StackMap locals: jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt
      StackMap stack:
            aload 34 /* oopMapOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        65: .line 174
            aload 15 /* metadataStream */
            aload 12 /* oopMapInfo */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.put:([B)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            bipush 8
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        66: .line 176
            aload 28 /* totalSize */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        67: .line 178
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.array:()[B
            astore 35 /* data */
        start local 35 // byte[] data
        68: .line 180
            aload 3 /* methodMetadataContainer */
            aload 35 /* data */
            iconst_0
            aload 35 /* data */
            arraylength
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.appendBytes:([BII)Ljdk/tools/jaotc/binformat/ByteContainer;
            pop
        end local 35 // byte[] data
        end local 34 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt oopMapOffset
        end local 33 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt implictTableOffset
        end local 32 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt exceptionOffset
        end local 31 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt relocationOffset
        end local 30 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt scopeOffset
        end local 29 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt pcDescOffset
        end local 28 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt totalSize
        69: .line 181
            goto 72
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator int jdk.vm.ci.hotspot.HotSpotCompiledCode jdk.vm.ci.hotspot.HotSpotMetaData byte[] byte[] byte[] byte[] byte[] byte[] jdk.tools.jaotc.utils.NativeOrderOutputStream int jdk.tools.jaotc.CodeOffsets int int int int int jdk.vm.ci.code.StackSlot int int int int
      StackMap stack: java.lang.Exception
        70: astore 28 /* e */
        start local 28 // java.lang.Exception e
        71: .line 182
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exception occurred during compilation of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getMethodInfo:()Ljdk/tools/jaotc/JavaMethodInfo;
            invokeinterface jdk.tools.jaotc.JavaMethodInfo.getSymbolName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 28 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 28 // java.lang.Exception e
        72: .line 184
      StackMap locals:
      StackMap stack:
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.clearCompileData:()V
        end local 27 // int unsafeAccess
        end local 26 // int offset
        end local 25 // int stubsOffset
        end local 24 // int origPcOffset
        end local 23 // jdk.vm.ci.code.StackSlot deoptRescueSlot
        end local 22 // int frameSize
        end local 21 // int deoptHandler
        end local 20 // int exceptionHandler
        end local 19 // int verifiedEntry
        end local 18 // int unverifiedEntry
        end local 17 // jdk.tools.jaotc.CodeOffsets co
        end local 16 // int codeSize
        end local 15 // jdk.tools.jaotc.utils.NativeOrderOutputStream metadataStream
        end local 14 // byte[] exceptionBytes
        end local 13 // byte[] implicitExceptionBytes
        end local 12 // byte[] oopMapInfo
        end local 11 // byte[] relocationInfo
        end local 10 // byte[] scopeDesc
        end local 9 // byte[] pcDesc
        end local 8 // jdk.vm.ci.hotspot.HotSpotMetaData metaData
        end local 7 // jdk.vm.ci.hotspot.HotSpotCompiledCode compiledMethod
        end local 6 // int startOffset
        end local 4 // jdk.tools.jaotc.CompiledMethodInfo methodInfo
        73: .line 86
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        74: .line 186
            return
        end local 3 // jdk.tools.jaotc.binformat.ByteContainer methodMetadataContainer
        end local 2 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        end local 1 // jdk.tools.jaotc.AOTCompiledClass compiledClass
        end local 0 // jdk.tools.jaotc.MetadataBuilder this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   75     0                     this  Ljdk/tools/jaotc/MetadataBuilder;
            0   75     1            compiledClass  Ljdk/tools/jaotc/AOTCompiledClass;
            1   75     2                  runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            2   75     3  methodMetadataContainer  Ljdk/tools/jaotc/binformat/ByteContainer;
            4   73     4               methodInfo  Ljdk/tools/jaotc/CompiledMethodInfo;
            5   73     6              startOffset  I
            8   73     7           compiledMethod  Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
            9   73     8                 metaData  Ljdk/vm/ci/hotspot/HotSpotMetaData;
           10   73     9                   pcDesc  [B
           11   73    10                scopeDesc  [B
           12   73    11           relocationInfo  [B
           13   73    12               oopMapInfo  [B
           14   73    13   implicitExceptionBytes  [B
           15   73    14           exceptionBytes  [B
           16   73    15           metadataStream  Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
           17   73    16                 codeSize  I
           18   73    17                       co  Ljdk/tools/jaotc/CodeOffsets;
           19   73    18          unverifiedEntry  I
           20   73    19            verifiedEntry  I
           21   73    20         exceptionHandler  I
           22   73    21             deoptHandler  I
           23   73    22                frameSize  I
           24   73    23          deoptRescueSlot  Ljdk/vm/ci/code/StackSlot;
           27   73    24             origPcOffset  I
           28   73    25              stubsOffset  I
           29   73    26                   offset  I
           34   73    27             unsafeAccess  I
           35   69    28                totalSize  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           45   69    29             pcDescOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           46   69    30              scopeOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           47   69    31         relocationOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           48   69    32          exceptionOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           49   69    33       implictTableOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           52   69    34             oopMapOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           68   69    35                     data  [B
           71   72    28                        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          34    69      70  Class java.lang.Exception
    MethodParameters:
               Name  Flags
      compiledClass  

  private static int addMetadataEntries(jdk.tools.jaotc.binformat.BinaryContainer, jdk.vm.ci.hotspot.HotSpotMetaData, jdk.tools.jaotc.CompiledMethodInfo);
    descriptor: (Ljdk/tools/jaotc/binformat/BinaryContainer;Ljdk/vm/ci/hotspot/HotSpotMetaData;Ljdk/tools/jaotc/CompiledMethodInfo;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        start local 1 // jdk.vm.ci.hotspot.HotSpotMetaData metaData
        start local 2 // jdk.tools.jaotc.CompiledMethodInfo methodInfo
         0: .line 189
            aload 1 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.metadataEntries:()[Ljava/lang/Object;
            astore 3 /* metaDataEntries */
        start local 3 // java.lang.Object[] metaDataEntries
         1: .line 191
            aload 3 /* metaDataEntries */
            arraylength
            ifne 3
         2: .line 192
            iconst_0
            ireturn
         3: .line 195
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 0 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetadataGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteStreamSize:()I
            istore 4 /* metadataGotSlotsStart */
        start local 4 // int metadataGotSlotsStart
         4: .line 197
            iconst_0
            istore 5 /* index */
        start local 5 // int index
         5: goto 12
         6: .line 198
      StackMap locals: int int
      StackMap stack:
            aload 3 /* metaDataEntries */
            iload 5 /* index */
            aaload
            astore 6 /* ref */
        start local 6 // java.lang.Object ref
         7: .line 199
            aload 6 /* ref */
            invokestatic jdk.tools.jaotc.AOTCompiledClass.metadataName:(Ljava/lang/Object;)Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
         8: .line 201
            aload 0 /* binaryContainer */
            aload 7 /* name */
            invokestatic jdk.tools.jaotc.MetadataBuilder.addMetadataEntry:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
         9: .line 203
            getstatic jdk.tools.jaotc.MetadataBuilder.$assertionsDisabled:Z
            ifne 10
            aload 6 /* ref */
            invokestatic jdk.tools.jaotc.AOTCompiledClass.getType:(Ljava/lang/Object;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            invokestatic jdk.tools.jaotc.AOTCompiledClass.getAOTKlassData:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)Ljdk/tools/jaotc/AOTCompiledClass$AOTKlassData;
            ifnonnull 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 204
      StackMap locals: java.lang.Object java.lang.String
      StackMap stack:
            getstatic jdk.tools.jaotc.MetadataBuilder.$assertionsDisabled:Z
            ifne 11
            aload 2 /* methodInfo */
            aload 6 /* ref */
            invokestatic jdk.tools.jaotc.AOTCompiledClass.getType:(Ljava/lang/Object;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getDependentKlassData:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)Ljdk/tools/jaotc/AOTCompiledClass$AOTKlassData;
            ifnonnull 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 7 // java.lang.String name
        end local 6 // java.lang.Object ref
        11: .line 197
      StackMap locals:
      StackMap stack:
            iinc 5 /* index */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* index */
            aload 3 /* metaDataEntries */
            arraylength
            if_icmplt 6
        end local 5 // int index
        13: .line 207
            iload 4 /* metadataGotSlotsStart */
            ireturn
        end local 4 // int metadataGotSlotsStart
        end local 3 // java.lang.Object[] metaDataEntries
        end local 2 // jdk.tools.jaotc.CompiledMethodInfo methodInfo
        end local 1 // jdk.vm.ci.hotspot.HotSpotMetaData metaData
        end local 0 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   14     0        binaryContainer  Ljdk/tools/jaotc/binformat/BinaryContainer;
            0   14     1               metaData  Ljdk/vm/ci/hotspot/HotSpotMetaData;
            0   14     2             methodInfo  Ljdk/tools/jaotc/CompiledMethodInfo;
            1   14     3        metaDataEntries  [Ljava/lang/Object;
            4   14     4  metadataGotSlotsStart  I
            5   13     5                  index  I
            7   11     6                    ref  Ljava/lang/Object;
            8   11     7                   name  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      binaryContainer  
      metaData         
      methodInfo       

  private static void addMetadataEntry(jdk.tools.jaotc.binformat.BinaryContainer, java.lang.String);
    descriptor: (Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        start local 1 // java.lang.String name
         0: .line 211
            aload 0 /* binaryContainer */
            aload 1 /* name */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addMetaspaceName:(Ljava/lang/String;)I
            istore 2 /* stringOffset */
        start local 2 // int stringOffset
         1: .line 212
            aload 0 /* binaryContainer */
            iload 2 /* stringOffset */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addMetadataGotEntry:(I)V
         2: .line 213
            return
        end local 2 // int stringOffset
        end local 1 // java.lang.String name
        end local 0 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0  binaryContainer  Ljdk/tools/jaotc/binformat/BinaryContainer;
            0    3     1             name  Ljava/lang/String;
            1    3     2     stringOffset  I
    MethodParameters:
                 Name  Flags
      binaryContainer  
      name             

  private void processInfopointsAndMarks(jdk.tools.jaotc.AOTCompiledClass);
    descriptor: (Ljdk/tools/jaotc/AOTCompiledClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=14, args_size=2
        start local 0 // jdk.tools.jaotc.MetadataBuilder this
        start local 1 // jdk.tools.jaotc.AOTCompiledClass compiledClass
         0: .line 222
            aload 1 /* compiledClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.getCompiledMethods:()Ljava/util/ArrayList;
            astore 2 /* compiledMethods */
        start local 2 // java.util.ArrayList compiledMethods
         1: .line 224
            new jdk.tools.jaotc.MarkProcessor
            dup
            aload 0 /* this */
            getfield jdk.tools.jaotc.MetadataBuilder.dataBuilder:Ljdk/tools/jaotc/DataBuilder;
            invokespecial jdk.tools.jaotc.MarkProcessor.<init>:(Ljdk/tools/jaotc/DataBuilder;)V
            astore 3 /* markProcessor */
        start local 3 // jdk.tools.jaotc.MarkProcessor markProcessor
         2: .line 225
            new jdk.tools.jaotc.DataPatchProcessor
            dup
            aload 0 /* this */
            getfield jdk.tools.jaotc.MetadataBuilder.dataBuilder:Ljdk/tools/jaotc/DataBuilder;
            invokespecial jdk.tools.jaotc.DataPatchProcessor.<init>:(Ljdk/tools/jaotc/DataBuilder;)V
            astore 4 /* dataPatchProcessor */
        start local 4 // jdk.tools.jaotc.DataPatchProcessor dataPatchProcessor
         3: .line 226
            new jdk.tools.jaotc.InfopointProcessor
            dup
            aload 0 /* this */
            getfield jdk.tools.jaotc.MetadataBuilder.dataBuilder:Ljdk/tools/jaotc/DataBuilder;
            invokespecial jdk.tools.jaotc.InfopointProcessor.<init>:(Ljdk/tools/jaotc/DataBuilder;)V
            astore 5 /* infopointProcessor */
        start local 5 // jdk.tools.jaotc.InfopointProcessor infopointProcessor
         4: .line 228
            aload 2 /* compiledMethods */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 23
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass java.util.ArrayList jdk.tools.jaotc.MarkProcessor jdk.tools.jaotc.DataPatchProcessor jdk.tools.jaotc.InfopointProcessor top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.CompiledMethodInfo
            astore 6 /* methodInfo */
        start local 6 // jdk.tools.jaotc.CompiledMethodInfo methodInfo
         6: .line 229
            aload 6 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
            astore 8 /* compilationResult */
        start local 8 // org.graalvm.compiler.code.CompilationResult compilationResult
         7: .line 230
            new java.lang.StringBuilder
            dup
            ldc "state.M"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCodeId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* targetSymbol */
        start local 9 // java.lang.String targetSymbol
         8: .line 231
            new java.lang.StringBuilder
            dup
            ldc "got."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* targetSymbol */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* gotName */
        start local 10 // java.lang.String gotName
         9: .line 232
            aload 0 /* this */
            getfield jdk.tools.jaotc.MetadataBuilder.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodStateContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            aload 10 /* gotName */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.createGotSymbol:(Ljava/lang/String;)Ljdk/tools/jaotc/binformat/GotSymbol;
            astore 11 /* symbol */
        start local 11 // jdk.tools.jaotc.binformat.GotSymbol symbol
        10: .line 233
            getstatic jdk.tools.jaotc.MetadataBuilder.$assertionsDisabled:Z
            ifne 11
            aload 11 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.GotSymbol.getIndex:()I
            aload 6 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCodeId:()I
            if_icmpeq 11
            new java.lang.AssertionError
            dup
            ldc "wrong offset"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 235
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass java.util.ArrayList jdk.tools.jaotc.MarkProcessor jdk.tools.jaotc.DataPatchProcessor jdk.tools.jaotc.InfopointProcessor jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator org.graalvm.compiler.code.CompilationResult java.lang.String java.lang.String jdk.tools.jaotc.binformat.GotSymbol
      StackMap stack:
            aload 8 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getInfopoints:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 14
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass java.util.ArrayList jdk.tools.jaotc.MarkProcessor jdk.tools.jaotc.DataPatchProcessor jdk.tools.jaotc.InfopointProcessor jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator org.graalvm.compiler.code.CompilationResult java.lang.String java.lang.String jdk.tools.jaotc.binformat.GotSymbol top java.util.Iterator
      StackMap stack:
        12: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.code.site.Infopoint
            astore 12 /* infoPoint */
        start local 12 // jdk.vm.ci.code.site.Infopoint infoPoint
        13: .line 236
            aload 5 /* infopointProcessor */
            aload 6 /* methodInfo */
            aload 12 /* infoPoint */
            invokevirtual jdk.tools.jaotc.InfopointProcessor.process:(Ljdk/tools/jaotc/CompiledMethodInfo;Ljdk/vm/ci/code/site/Infopoint;)V
        end local 12 // jdk.vm.ci.code.site.Infopoint infoPoint
        14: .line 235
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 239
            aload 8 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getMarks:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 18
      StackMap locals:
      StackMap stack:
        16: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.code.CompilationResult$CodeMark
            astore 12 /* mark */
        start local 12 // org.graalvm.compiler.code.CompilationResult$CodeMark mark
        17: .line 240
            aload 3 /* markProcessor */
            aload 6 /* methodInfo */
            aload 12 /* mark */
            invokevirtual jdk.tools.jaotc.MarkProcessor.process:(Ljdk/tools/jaotc/CompiledMethodInfo;Lorg/graalvm/compiler/code/CompilationResult$CodeMark;)V
        end local 12 // org.graalvm.compiler.code.CompilationResult$CodeMark mark
        18: .line 239
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        19: .line 243
            aload 8 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getDataPatches:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 22
      StackMap locals:
      StackMap stack:
        20: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.code.site.DataPatch
            astore 12 /* dataPatch */
        start local 12 // jdk.vm.ci.code.site.DataPatch dataPatch
        21: .line 244
            aload 4 /* dataPatchProcessor */
            aload 6 /* methodInfo */
            aload 12 /* dataPatch */
            invokevirtual jdk.tools.jaotc.DataPatchProcessor.process:(Ljdk/tools/jaotc/CompiledMethodInfo;Ljdk/vm/ci/code/site/DataPatch;)V
        end local 12 // jdk.vm.ci.code.site.DataPatch dataPatch
        22: .line 243
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        end local 11 // jdk.tools.jaotc.binformat.GotSymbol symbol
        end local 10 // java.lang.String gotName
        end local 9 // java.lang.String targetSymbol
        end local 8 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 6 // jdk.tools.jaotc.CompiledMethodInfo methodInfo
        23: .line 228
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass java.util.ArrayList jdk.tools.jaotc.MarkProcessor jdk.tools.jaotc.DataPatchProcessor jdk.tools.jaotc.InfopointProcessor top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        24: .line 247
            return
        end local 5 // jdk.tools.jaotc.InfopointProcessor infopointProcessor
        end local 4 // jdk.tools.jaotc.DataPatchProcessor dataPatchProcessor
        end local 3 // jdk.tools.jaotc.MarkProcessor markProcessor
        end local 2 // java.util.ArrayList compiledMethods
        end local 1 // jdk.tools.jaotc.AOTCompiledClass compiledClass
        end local 0 // jdk.tools.jaotc.MetadataBuilder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   25     0                this  Ljdk/tools/jaotc/MetadataBuilder;
            0   25     1       compiledClass  Ljdk/tools/jaotc/AOTCompiledClass;
            1   25     2     compiledMethods  Ljava/util/ArrayList<Ljdk/tools/jaotc/CompiledMethodInfo;>;
            2   25     3       markProcessor  Ljdk/tools/jaotc/MarkProcessor;
            3   25     4  dataPatchProcessor  Ljdk/tools/jaotc/DataPatchProcessor;
            4   25     5  infopointProcessor  Ljdk/tools/jaotc/InfopointProcessor;
            6   23     6          methodInfo  Ljdk/tools/jaotc/CompiledMethodInfo;
            7   23     8   compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            8   23     9        targetSymbol  Ljava/lang/String;
            9   23    10             gotName  Ljava/lang/String;
           10   23    11              symbol  Ljdk/tools/jaotc/binformat/GotSymbol;
           13   14    12           infoPoint  Ljdk/vm/ci/code/site/Infopoint;
           17   18    12                mark  Lorg/graalvm/compiler/code/CompilationResult$CodeMark;
           21   22    12           dataPatch  Ljdk/vm/ci/code/site/DataPatch;
    MethodParameters:
               Name  Flags
      compiledClass  
}
SourceFile: "MetadataBuilder.java"
InnerClasses:
  AOTKlassData = jdk.tools.jaotc.AOTCompiledClass$AOTKlassData of jdk.tools.jaotc.AOTCompiledClass
  public PatchableInt = jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt of jdk.tools.jaotc.utils.NativeOrderOutputStream
  public CodeMark = org.graalvm.compiler.code.CompilationResult$CodeMark of org.graalvm.compiler.code.CompilationResult