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 47
            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 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 54
            aload 0 /* this */
            aload 1 /* dataBuilder */
            putfield jdk.tools.jaotc.MetadataBuilder.dataBuilder:Ljdk/tools/jaotc/DataBuilder;
         2: .line 55
            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 56
            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 62
            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 63
            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 62
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 65
            aload 0 /* this */
            aload 2 /* stubCompiledCode */
            invokevirtual jdk.tools.jaotc.MetadataBuilder.processMetadataClass:(Ljdk/tools/jaotc/AOTCompiledClass;)V
         5: .line 66
            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 69
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual jdk.tools.jaotc.MetadataBuilder.processInfopointsAndMarks:(Ljdk/tools/jaotc/AOTCompiledClass;)V
         1: .line 70
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual jdk.tools.jaotc.MetadataBuilder.createMethodMetadata:(Ljdk/tools/jaotc/AOTCompiledClass;)V
         2: .line 71
            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=33, args_size=2
        start local 0 // jdk.tools.jaotc.MetadataBuilder this
        start local 1 // jdk.tools.jaotc.AOTCompiledClass compiledClass
         0: .line 80
            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 81
            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 84
            aload 1 /* compiledClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.getCompiledMethods:()Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 65
      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 86
            aload 3 /* methodMetadataContainer */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteStreamSize:()I
            istore 6 /* startOffset */
        start local 6 // int startOffset
         5: .line 87
            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 89
      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 91
            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 93
            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 95
            aload 8 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.pcDescBytes:()[B
            astore 9 /* pcDesc */
        start local 9 // byte[] pcDesc
        10: .line 96
            aload 8 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.scopesDescBytes:()[B
            astore 10 /* scopeDesc */
        start local 10 // byte[] scopeDesc
        11: .line 97
            aload 8 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.relocBytes:()[B
            astore 11 /* relocationInfo */
        start local 11 // byte[] relocationInfo
        12: .line 98
            aload 8 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.oopMaps:()[B
            astore 12 /* oopMapInfo */
        start local 12 // byte[] oopMapInfo
        13: .line 101
            new jdk.tools.jaotc.utils.NativeOrderOutputStream
            dup
            invokespecial jdk.tools.jaotc.utils.NativeOrderOutputStream.<init>:()V
            astore 13 /* metadataStream */
        start local 13 // jdk.tools.jaotc.utils.NativeOrderOutputStream metadataStream
        14: .line 104
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCodeSize:()I
            istore 14 /* codeSize */
        start local 14 // int codeSize
        15: .line 107
            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 15 /* co */
        start local 15 // jdk.tools.jaotc.CodeOffsets co
        16: .line 108
            aload 15 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.entry:()I
            istore 16 /* unverifiedEntry */
        start local 16 // int unverifiedEntry
        17: .line 109
            aload 15 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.verifiedEntry:()I
            istore 17 /* verifiedEntry */
        start local 17 // int verifiedEntry
        18: .line 110
            aload 15 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.exceptionHandler:()I
            istore 18 /* exceptionHandler */
        start local 18 // int exceptionHandler
        19: .line 111
            aload 15 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.deoptHandler:()I
            istore 19 /* deoptHandler */
        start local 19 // int deoptHandler
        20: .line 112
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.getTotalFrameSize:()I
            istore 20 /* frameSize */
        start local 20 // int frameSize
        21: .line 113
            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 21 /* deoptRescueSlot */
        start local 21 // jdk.vm.ci.code.StackSlot deoptRescueSlot
        22: .line 114
            aload 21 /* deoptRescueSlot */
            ifnull 23
            aload 21 /* deoptRescueSlot */
            iload 20 /* frameSize */
            invokevirtual jdk.vm.ci.code.StackSlot.getOffset:(I)I
            goto 24
      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[] jdk.tools.jaotc.utils.NativeOrderOutputStream int jdk.tools.jaotc.CodeOffsets int int int int int jdk.vm.ci.code.StackSlot
      StackMap stack:
        23: iconst_m1
      StackMap locals:
      StackMap stack: int
        24: istore 22 /* origPcOffset */
        start local 22 // int origPcOffset
        25: .line 117
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getStubsOffset:()I
            istore 23 /* stubsOffset */
        start local 23 // int stubsOffset
        26: .line 119
            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 24 /* offset */
        start local 24 // int offset
        27: .line 120
            aload 4 /* methodInfo */
            iload 24 /* offset */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataGotOffset:(I)V
        28: .line 121
            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
        29: .line 122
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.hasUnsafeAccess:()Z
            ifeq 30
            iconst_1
            goto 31
      StackMap locals: int int int
      StackMap stack:
        30: iconst_0
      StackMap locals:
      StackMap stack: int
        31: istore 25 /* unsafeAccess */
        start local 25 // int unsafeAccess
        32: .line 125
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 26 /* totalSize */
        start local 26 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt totalSize
        33: .line 128
            aload 13 /* metadataStream */
            iload 14 /* codeSize */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        34: .line 129
            iload 16 /* unverifiedEntry */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        35: .line 130
            iload 17 /* verifiedEntry */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        36: .line 131
            iload 18 /* exceptionHandler */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        37: .line 132
            iload 19 /* deoptHandler */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        38: .line 133
            iload 23 /* stubsOffset */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        39: .line 134
            iload 20 /* frameSize */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        40: .line 135
            iload 22 /* origPcOffset */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        41: .line 136
            iload 25 /* unsafeAccess */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        42: .line 139
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 27 /* pcDescOffset */
        start local 27 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt pcDescOffset
        43: .line 140
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 28 /* scopeOffset */
        start local 28 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt scopeOffset
        44: .line 141
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 29 /* relocationOffset */
        start local 29 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt relocationOffset
        45: .line 142
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 30 /* exceptionOffset */
        start local 30 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt exceptionOffset
        46: .line 143
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 31 /* oopMapOffset */
        start local 31 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt oopMapOffset
        47: .line 144
            aload 13 /* metadataStream */
            bipush 8
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        48: .line 146
            aload 27 /* pcDescOffset */
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        49: .line 147
            aload 13 /* 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
        50: .line 149
            aload 28 /* scopeOffset */
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        51: .line 150
            aload 13 /* 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
        52: .line 152
            aload 29 /* relocationOffset */
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        53: .line 153
            aload 13 /* 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
        54: .line 155
            aload 30 /* exceptionOffset */
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        55: .line 156
            aload 13 /* metadataStream */
            aload 8 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.exceptionBytes:()[B
            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
        56: .line 159
            aload 31 /* oopMapOffset */
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        57: .line 160
            aload 13 /* 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
        58: .line 162
            aload 26 /* totalSize */
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        59: .line 164
            aload 13 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.array:()[B
            astore 32 /* data */
        start local 32 // byte[] data
        60: .line 166
            aload 3 /* methodMetadataContainer */
            aload 32 /* data */
            iconst_0
            aload 32 /* data */
            arraylength
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.appendBytes:([BII)Ljdk/tools/jaotc/binformat/ByteContainer;
            pop
        end local 32 // byte[] data
        end local 31 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt oopMapOffset
        end local 30 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt exceptionOffset
        end local 29 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt relocationOffset
        end local 28 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt scopeOffset
        end local 27 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt pcDescOffset
        end local 26 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt totalSize
        61: .line 167
            goto 64
      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[] 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
        62: astore 26 /* e */
        start local 26 // java.lang.Exception e
        63: .line 168
            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 26 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 26 // java.lang.Exception e
        64: .line 170
      StackMap locals:
      StackMap stack:
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.clearCompileData:()V
        end local 25 // int unsafeAccess
        end local 24 // int offset
        end local 23 // int stubsOffset
        end local 22 // int origPcOffset
        end local 21 // jdk.vm.ci.code.StackSlot deoptRescueSlot
        end local 20 // int frameSize
        end local 19 // int deoptHandler
        end local 18 // int exceptionHandler
        end local 17 // int verifiedEntry
        end local 16 // int unverifiedEntry
        end local 15 // jdk.tools.jaotc.CodeOffsets co
        end local 14 // int codeSize
        end local 13 // jdk.tools.jaotc.utils.NativeOrderOutputStream metadataStream
        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
        65: .line 84
      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
        66: .line 172
            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   67     0                     this  Ljdk/tools/jaotc/MetadataBuilder;
            0   67     1            compiledClass  Ljdk/tools/jaotc/AOTCompiledClass;
            1   67     2                  runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            2   67     3  methodMetadataContainer  Ljdk/tools/jaotc/binformat/ByteContainer;
            4   65     4               methodInfo  Ljdk/tools/jaotc/CompiledMethodInfo;
            5   65     6              startOffset  I
            8   65     7           compiledMethod  Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
            9   65     8                 metaData  Ljdk/vm/ci/hotspot/HotSpotMetaData;
           10   65     9                   pcDesc  [B
           11   65    10                scopeDesc  [B
           12   65    11           relocationInfo  [B
           13   65    12               oopMapInfo  [B
           14   65    13           metadataStream  Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
           15   65    14                 codeSize  I
           16   65    15                       co  Ljdk/tools/jaotc/CodeOffsets;
           17   65    16          unverifiedEntry  I
           18   65    17            verifiedEntry  I
           19   65    18         exceptionHandler  I
           20   65    19             deoptHandler  I
           21   65    20                frameSize  I
           22   65    21          deoptRescueSlot  Ljdk/vm/ci/code/StackSlot;
           25   65    22             origPcOffset  I
           26   65    23              stubsOffset  I
           27   65    24                   offset  I
           32   65    25             unsafeAccess  I
           33   61    26                totalSize  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           43   61    27             pcDescOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           44   61    28              scopeOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           45   61    29         relocationOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           46   61    30          exceptionOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           47   61    31             oopMapOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           60   61    32                     data  [B
           63   64    26                        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          32    61      62  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 175
            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 177
            aload 3 /* metaDataEntries */
            arraylength
            ifne 3
         2: .line 178
            iconst_0
            ireturn
         3: .line 181
      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 183
            iconst_0
            istore 5 /* index */
        start local 5 // int index
         5: goto 12
         6: .line 184
      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 185
            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 187
            aload 0 /* binaryContainer */
            aload 7 /* name */
            invokestatic jdk.tools.jaotc.MetadataBuilder.addMetadataEntry:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
         9: .line 189
            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 190
      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 183
      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 193
            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 197
            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 198
            aload 0 /* binaryContainer */
            iload 2 /* stringOffset */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addMetadataGotEntry:(I)V
         2: .line 199
            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 208
            aload 1 /* compiledClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.getCompiledMethods:()Ljava/util/ArrayList;
            astore 2 /* compiledMethods */
        start local 2 // java.util.ArrayList compiledMethods
         1: .line 210
            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 211
            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 212
            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 214
            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 215
            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 216
            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 217
            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 218
            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 219
            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 221
      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 222
            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 221
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 225
            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 jdk.vm.ci.code.site.Mark
            astore 12 /* mark */
        start local 12 // jdk.vm.ci.code.site.Mark mark
        17: .line 226
            aload 3 /* markProcessor */
            aload 6 /* methodInfo */
            aload 12 /* mark */
            invokevirtual jdk.tools.jaotc.MarkProcessor.process:(Ljdk/tools/jaotc/CompiledMethodInfo;Ljdk/vm/ci/code/site/Mark;)V
        end local 12 // jdk.vm.ci.code.site.Mark mark
        18: .line 225
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        19: .line 229
            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 230
            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 229
      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 214
      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 233
            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  Ljdk/vm/ci/code/site/Mark;
           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