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=37, 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 75
      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 17 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.deoptMHHandler:()I
            istore 22 /* deoptMHHandler */
        start local 22 // int deoptMHHandler
        23: .line 118
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.getTotalFrameSize:()I
            istore 23 /* frameSize */
        start local 23 // int frameSize
        24: .line 119
            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 24 /* deoptRescueSlot */
        start local 24 // jdk.vm.ci.code.StackSlot deoptRescueSlot
        25: .line 120
            aload 24 /* deoptRescueSlot */
            ifnull 26
            aload 24 /* deoptRescueSlot */
            iload 23 /* frameSize */
            invokevirtual jdk.vm.ci.code.StackSlot.getOffset:(I)I
            goto 27
      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 int jdk.vm.ci.code.StackSlot
      StackMap stack:
        26: iconst_m1
      StackMap locals:
      StackMap stack: int
        27: istore 25 /* origPcOffset */
        start local 25 // int origPcOffset
        28: .line 123
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getStubsOffset:()I
            istore 26 /* stubsOffset */
        start local 26 // int stubsOffset
        29: .line 125
            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 27 /* offset */
        start local 27 // int offset
        30: .line 126
            aload 4 /* methodInfo */
            iload 27 /* offset */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataGotOffset:(I)V
        31: .line 127
            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
        32: .line 128
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.hasUnsafeAccess:()Z
            ifeq 33
            iconst_1
            goto 34
      StackMap locals: int int int
      StackMap stack:
        33: iconst_0
      StackMap locals:
      StackMap stack: int
        34: istore 28 /* unsafeAccess */
        start local 28 // int unsafeAccess
        35: .line 131
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 29 /* totalSize */
        start local 29 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt totalSize
        36: .line 134
            aload 15 /* metadataStream */
            iload 16 /* codeSize */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        37: .line 135
            iload 18 /* unverifiedEntry */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        38: .line 136
            iload 19 /* verifiedEntry */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        39: .line 137
            iload 20 /* exceptionHandler */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        40: .line 138
            iload 21 /* deoptHandler */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        41: .line 139
            iload 22 /* deoptMHHandler */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        42: .line 140
            iload 26 /* stubsOffset */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        43: .line 141
            iload 23 /* frameSize */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        44: .line 142
            iload 25 /* origPcOffset */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        45: .line 143
            iload 28 /* unsafeAccess */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        46: .line 146
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 30 /* pcDescOffset */
        start local 30 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt pcDescOffset
        47: .line 147
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 31 /* scopeOffset */
        start local 31 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt scopeOffset
        48: .line 148
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 32 /* relocationOffset */
        start local 32 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt relocationOffset
        49: .line 149
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 33 /* exceptionOffset */
        start local 33 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt exceptionOffset
        50: .line 150
            aconst_null
            astore 34 /* implictTableOffset */
        start local 34 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt implictTableOffset
        51: .line 151
            aload 13 /* implicitExceptionBytes */
            ifnull 53
        52: .line 152
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 34 /* implictTableOffset */
        53: .line 154
      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 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 35 /* oopMapOffset */
        start local 35 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt oopMapOffset
        54: .line 155
            aload 15 /* metadataStream */
            bipush 8
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        55: .line 157
            aload 30 /* pcDescOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        56: .line 158
            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
        57: .line 160
            aload 31 /* scopeOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        58: .line 161
            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
        59: .line 163
            aload 32 /* relocationOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        60: .line 164
            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
        61: .line 166
            aload 33 /* exceptionOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        62: .line 167
            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
        63: .line 169
            aload 13 /* implicitExceptionBytes */
            ifnull 66
        64: .line 170
            aload 34 /* implictTableOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        65: .line 171
            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
        66: .line 175
      StackMap locals: jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt
      StackMap stack:
            aload 35 /* oopMapOffset */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        67: .line 176
            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
        68: .line 178
            aload 29 /* totalSize */
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        69: .line 180
            aload 15 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.array:()[B
            astore 36 /* data */
        start local 36 // byte[] data
        70: .line 182
            aload 3 /* methodMetadataContainer */
            aload 36 /* data */
            iconst_0
            aload 36 /* data */
            arraylength
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.appendBytes:([BII)Ljdk/tools/jaotc/binformat/ByteContainer;
            pop
        end local 36 // byte[] data
        end local 35 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt oopMapOffset
        end local 34 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt implictTableOffset
        end local 33 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt exceptionOffset
        end local 32 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt relocationOffset
        end local 31 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt scopeOffset
        end local 30 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt pcDescOffset
        end local 29 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt totalSize
        71: .line 183
            goto 74
      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 int jdk.vm.ci.code.StackSlot int int int int
      StackMap stack: java.lang.Exception
        72: astore 29 /* e */
        start local 29 // java.lang.Exception e
        73: .line 184
            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 29 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 29 // java.lang.Exception e
        74: .line 186
      StackMap locals:
      StackMap stack:
            aload 4 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.clearCompileData:()V
        end local 28 // int unsafeAccess
        end local 27 // int offset
        end local 26 // int stubsOffset
        end local 25 // int origPcOffset
        end local 24 // jdk.vm.ci.code.StackSlot deoptRescueSlot
        end local 23 // int frameSize
        end local 22 // int deoptMHHandler
        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
        75: .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
        76: .line 188
            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   77     0                     this  Ljdk/tools/jaotc/MetadataBuilder;
            0   77     1            compiledClass  Ljdk/tools/jaotc/AOTCompiledClass;
            1   77     2                  runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            2   77     3  methodMetadataContainer  Ljdk/tools/jaotc/binformat/ByteContainer;
            4   75     4               methodInfo  Ljdk/tools/jaotc/CompiledMethodInfo;
            5   75     6              startOffset  I
            8   75     7           compiledMethod  Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
            9   75     8                 metaData  Ljdk/vm/ci/hotspot/HotSpotMetaData;
           10   75     9                   pcDesc  [B
           11   75    10                scopeDesc  [B
           12   75    11           relocationInfo  [B
           13   75    12               oopMapInfo  [B
           14   75    13   implicitExceptionBytes  [B
           15   75    14           exceptionBytes  [B
           16   75    15           metadataStream  Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
           17   75    16                 codeSize  I
           18   75    17                       co  Ljdk/tools/jaotc/CodeOffsets;
           19   75    18          unverifiedEntry  I
           20   75    19            verifiedEntry  I
           21   75    20         exceptionHandler  I
           22   75    21             deoptHandler  I
           23   75    22           deoptMHHandler  I
           24   75    23                frameSize  I
           25   75    24          deoptRescueSlot  Ljdk/vm/ci/code/StackSlot;
           28   75    25             origPcOffset  I
           29   75    26              stubsOffset  I
           30   75    27                   offset  I
           35   75    28             unsafeAccess  I
           36   71    29                totalSize  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           47   71    30             pcDescOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           48   71    31              scopeOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           49   71    32         relocationOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           50   71    33          exceptionOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           51   71    34       implictTableOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           54   71    35             oopMapOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           70   71    36                     data  [B
           73   74    29                        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          35    71      72  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 191
            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 193
            aload 3 /* metaDataEntries */
            arraylength
            ifne 3
         2: .line 194
            iconst_0
            ireturn
         3: .line 197
      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 199
            iconst_0
            istore 5 /* index */
        start local 5 // int index
         5: goto 12
         6: .line 200
      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 201
            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 203
            aload 0 /* binaryContainer */
            aload 7 /* name */
            invokestatic jdk.tools.jaotc.MetadataBuilder.addMetadataEntry:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
         9: .line 205
            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 206
      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 199
      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 209
            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 213
            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 214
            aload 0 /* binaryContainer */
            iload 2 /* stringOffset */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addMetadataGotEntry:(I)V
         2: .line 215
            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 224
            aload 1 /* compiledClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.getCompiledMethods:()Ljava/util/ArrayList;
            astore 2 /* compiledMethods */
        start local 2 // java.util.ArrayList compiledMethods
         1: .line 226
            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 227
            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 228
            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 230
            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 231
            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 232
            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 233
            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 234
            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 235
            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 237
      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 238
            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 237
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 241
            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 242
            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 241
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        19: .line 245
            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 246
            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 245
      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 230
      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 249
            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