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=35, 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 85
            aconst_null
            astore 4 /* implicitExceptionsMethod */
        start local 4 // java.lang.reflect.Method implicitExceptionsMethod
         3: .line 87
            ldc Ljdk/vm/ci/hotspot/HotSpotMetaData;
            ldc "implicitExceptionBytes"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* implicitExceptionsMethod */
         4: .line 88
            goto 6
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer java.lang.reflect.Method
      StackMap stack: java.lang.NoSuchMethodException
         5: pop
         6: .line 92
      StackMap locals:
      StackMap stack:
            aload 1 /* compiledClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.getCompiledMethods:()Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 6
            goto 76
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer java.lang.reflect.Method top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.CompiledMethodInfo
            astore 5 /* methodInfo */
        start local 5 // jdk.tools.jaotc.CompiledMethodInfo methodInfo
         8: .line 94
            aload 3 /* methodMetadataContainer */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteStreamSize:()I
            istore 7 /* startOffset */
        start local 7 // int startOffset
         9: .line 95
            getstatic jdk.tools.jaotc.MetadataBuilder.$assertionsDisabled:Z
            ifne 10
            iload 7 /* startOffset */
            bipush 8
            irem
            ifeq 10
            new java.lang.AssertionError
            dup
            ldc "Must be aligned on 8"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 97
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer java.lang.reflect.Method jdk.tools.jaotc.CompiledMethodInfo java.util.Iterator int
      StackMap stack:
            aload 5 /* methodInfo */
            iload 7 /* startOffset */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataOffset:(I)V
        11: .line 99
            aload 5 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.compiledCode:()Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
            astore 8 /* compiledMethod */
        start local 8 // jdk.vm.ci.hotspot.HotSpotCompiledCode compiledMethod
        12: .line 101
            new jdk.vm.ci.hotspot.HotSpotMetaData
            dup
            aload 2 /* runtime */
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            aload 8 /* compiledMethod */
            invokespecial jdk.vm.ci.hotspot.HotSpotMetaData.<init>:(Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/hotspot/HotSpotCompiledCode;)V
            astore 9 /* metaData */
        start local 9 // jdk.vm.ci.hotspot.HotSpotMetaData metaData
        13: .line 103
            aload 9 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.pcDescBytes:()[B
            astore 10 /* pcDesc */
        start local 10 // byte[] pcDesc
        14: .line 104
            aload 9 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.scopesDescBytes:()[B
            astore 11 /* scopeDesc */
        start local 11 // byte[] scopeDesc
        15: .line 105
            aload 9 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.relocBytes:()[B
            astore 12 /* relocationInfo */
        start local 12 // byte[] relocationInfo
        16: .line 106
            aload 9 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.oopMaps:()[B
            astore 13 /* oopMapInfo */
        start local 13 // byte[] oopMapInfo
        17: .line 109
            new jdk.tools.jaotc.utils.NativeOrderOutputStream
            dup
            invokespecial jdk.tools.jaotc.utils.NativeOrderOutputStream.<init>:()V
            astore 14 /* metadataStream */
        start local 14 // jdk.tools.jaotc.utils.NativeOrderOutputStream metadataStream
        18: .line 112
            aload 5 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCodeSize:()I
            istore 15 /* codeSize */
        start local 15 // int codeSize
        19: .line 115
            aload 5 /* 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 16 /* co */
        start local 16 // jdk.tools.jaotc.CodeOffsets co
        20: .line 116
            aload 16 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.entry:()I
            istore 17 /* unverifiedEntry */
        start local 17 // int unverifiedEntry
        21: .line 117
            aload 16 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.verifiedEntry:()I
            istore 18 /* verifiedEntry */
        start local 18 // int verifiedEntry
        22: .line 118
            aload 16 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.exceptionHandler:()I
            istore 19 /* exceptionHandler */
        start local 19 // int exceptionHandler
        23: .line 119
            aload 16 /* co */
            invokevirtual jdk.tools.jaotc.CodeOffsets.deoptHandler:()I
            istore 20 /* deoptHandler */
        start local 20 // int deoptHandler
        24: .line 120
            aload 5 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.getTotalFrameSize:()I
            istore 21 /* frameSize */
        start local 21 // int frameSize
        25: .line 121
            aload 5 /* 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 22 /* deoptRescueSlot */
        start local 22 // jdk.vm.ci.code.StackSlot deoptRescueSlot
        26: .line 122
            aload 22 /* deoptRescueSlot */
            ifnull 27
            aload 22 /* deoptRescueSlot */
            iload 21 /* frameSize */
            invokevirtual jdk.vm.ci.code.StackSlot.getOffset:(I)I
            goto 28
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer java.lang.reflect.Method 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:
        27: iconst_m1
      StackMap locals:
      StackMap stack: int
        28: istore 23 /* origPcOffset */
        start local 23 // int origPcOffset
        29: .line 125
            aload 5 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getStubsOffset:()I
            istore 24 /* stubsOffset */
        start local 24 // int stubsOffset
        30: .line 127
            aload 0 /* this */
            getfield jdk.tools.jaotc.MetadataBuilder.binaryContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            aload 9 /* metaData */
            aload 5 /* methodInfo */
            invokestatic jdk.tools.jaotc.MetadataBuilder.addMetadataEntries:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljdk/vm/ci/hotspot/HotSpotMetaData;Ljdk/tools/jaotc/CompiledMethodInfo;)I
            istore 25 /* offset */
        start local 25 // int offset
        31: .line 128
            aload 5 /* methodInfo */
            iload 25 /* offset */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataGotOffset:(I)V
        32: .line 129
            aload 5 /* methodInfo */
            aload 9 /* metaData */
            invokevirtual jdk.vm.ci.hotspot.HotSpotMetaData.metadataEntries:()[Ljava/lang/Object;
            arraylength
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.setMetadataGotSize:(I)V
        33: .line 130
            aload 5 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.getCompilationResult:()Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.hasUnsafeAccess:()Z
            ifeq 34
            iconst_1
            goto 35
      StackMap locals: int int int
      StackMap stack:
        34: iconst_0
      StackMap locals:
      StackMap stack: int
        35: istore 26 /* unsafeAccess */
        start local 26 // int unsafeAccess
        36: .line 133
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 27 /* totalSize */
        start local 27 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt totalSize
        37: .line 136
            aload 14 /* metadataStream */
            iload 15 /* codeSize */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        38: .line 137
            iload 17 /* unverifiedEntry */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        39: .line 138
            iload 18 /* verifiedEntry */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        40: .line 139
            iload 19 /* exceptionHandler */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        41: .line 140
            iload 20 /* deoptHandler */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        42: .line 141
            iload 24 /* stubsOffset */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        43: .line 142
            iload 21 /* frameSize */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        44: .line 143
            iload 23 /* origPcOffset */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
        45: .line 144
            iload 26 /* unsafeAccess */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.putInt:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        46: .line 147
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 28 /* pcDescOffset */
        start local 28 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt pcDescOffset
        47: .line 148
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 29 /* scopeOffset */
        start local 29 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt scopeOffset
        48: .line 149
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 30 /* relocationOffset */
        start local 30 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt relocationOffset
        49: .line 150
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 31 /* exceptionOffset */
        start local 31 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt exceptionOffset
        50: .line 151
            aconst_null
            astore 32 /* implictTableOFfset */
        start local 32 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt implictTableOFfset
        51: .line 153
            aload 4 /* implicitExceptionsMethod */
            ifnull 53
        52: .line 154
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 32 /* implictTableOFfset */
        53: .line 156
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer java.lang.reflect.Method 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 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 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.patchableInt:()Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
            astore 33 /* oopMapOffset */
        start local 33 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt oopMapOffset
        54: .line 157
            aload 14 /* metadataStream */
            bipush 8
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.align:(I)Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
            pop
        55: .line 159
            aload 28 /* pcDescOffset */
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        56: .line 160
            aload 14 /* metadataStream */
            aload 10 /* 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 162
            aload 29 /* scopeOffset */
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        58: .line 163
            aload 14 /* metadataStream */
            aload 11 /* 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 165
            aload 30 /* relocationOffset */
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        60: .line 166
            aload 14 /* metadataStream */
            aload 12 /* 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 168
            aload 31 /* exceptionOffset */
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        62: .line 169
            aload 14 /* metadataStream */
            aload 9 /* 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
        63: .line 171
            aload 4 /* implicitExceptionsMethod */
            ifnull 67
        64: .line 172
            aload 32 /* implictTableOFfset */
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        65: .line 173
            aload 4 /* implicitExceptionsMethod */
            aload 9 /* metaData */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
            astore 34 /* data */
        start local 34 // byte[] data
        66: .line 174
            aload 14 /* metadataStream */
            aload 34 /* data */
            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
        end local 34 // byte[] data
        67: .line 178
      StackMap locals: jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt
      StackMap stack:
            aload 33 /* oopMapOffset */
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        68: .line 179
            aload 14 /* metadataStream */
            aload 13 /* 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
        69: .line 181
            aload 27 /* totalSize */
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.position:()I
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt.set:(I)V
        70: .line 183
            aload 14 /* metadataStream */
            invokevirtual jdk.tools.jaotc.utils.NativeOrderOutputStream.array:()[B
            astore 34 /* data */
        start local 34 // byte[] data
        71: .line 185
            aload 3 /* methodMetadataContainer */
            aload 34 /* data */
            iconst_0
            aload 34 /* data */
            arraylength
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.appendBytes:([BII)Ljdk/tools/jaotc/binformat/ByteContainer;
            pop
        end local 34 // byte[] data
        end local 33 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt oopMapOffset
        end local 32 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt implictTableOFfset
        end local 31 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt exceptionOffset
        end local 30 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt relocationOffset
        end local 29 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt scopeOffset
        end local 28 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt pcDescOffset
        end local 27 // jdk.tools.jaotc.utils.NativeOrderOutputStream$PatchableInt totalSize
        72: .line 186
            goto 75
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer java.lang.reflect.Method 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
        73: astore 27 /* e */
        start local 27 // java.lang.Exception e
        74: .line 187
            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 5 /* 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 27 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 27 // java.lang.Exception e
        75: .line 189
      StackMap locals:
      StackMap stack:
            aload 5 /* methodInfo */
            invokevirtual jdk.tools.jaotc.CompiledMethodInfo.clearCompileData:()V
        end local 26 // int unsafeAccess
        end local 25 // int offset
        end local 24 // int stubsOffset
        end local 23 // int origPcOffset
        end local 22 // jdk.vm.ci.code.StackSlot deoptRescueSlot
        end local 21 // int frameSize
        end local 20 // int deoptHandler
        end local 19 // int exceptionHandler
        end local 18 // int verifiedEntry
        end local 17 // int unverifiedEntry
        end local 16 // jdk.tools.jaotc.CodeOffsets co
        end local 15 // int codeSize
        end local 14 // jdk.tools.jaotc.utils.NativeOrderOutputStream metadataStream
        end local 13 // byte[] oopMapInfo
        end local 12 // byte[] relocationInfo
        end local 11 // byte[] scopeDesc
        end local 10 // byte[] pcDesc
        end local 9 // jdk.vm.ci.hotspot.HotSpotMetaData metaData
        end local 8 // jdk.vm.ci.hotspot.HotSpotCompiledCode compiledMethod
        end local 7 // int startOffset
        end local 5 // jdk.tools.jaotc.CompiledMethodInfo methodInfo
        76: .line 92
      StackMap locals: jdk.tools.jaotc.MetadataBuilder jdk.tools.jaotc.AOTCompiledClass org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider jdk.tools.jaotc.binformat.ByteContainer java.lang.reflect.Method top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        77: .line 191
            return
        end local 4 // java.lang.reflect.Method implicitExceptionsMethod
        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   78     0                      this  Ljdk/tools/jaotc/MetadataBuilder;
            0   78     1             compiledClass  Ljdk/tools/jaotc/AOTCompiledClass;
            1   78     2                   runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            2   78     3   methodMetadataContainer  Ljdk/tools/jaotc/binformat/ByteContainer;
            3   78     4  implicitExceptionsMethod  Ljava/lang/reflect/Method;
            8   76     5                methodInfo  Ljdk/tools/jaotc/CompiledMethodInfo;
            9   76     7               startOffset  I
           12   76     8            compiledMethod  Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
           13   76     9                  metaData  Ljdk/vm/ci/hotspot/HotSpotMetaData;
           14   76    10                    pcDesc  [B
           15   76    11                 scopeDesc  [B
           16   76    12            relocationInfo  [B
           17   76    13                oopMapInfo  [B
           18   76    14            metadataStream  Ljdk/tools/jaotc/utils/NativeOrderOutputStream;
           19   76    15                  codeSize  I
           20   76    16                        co  Ljdk/tools/jaotc/CodeOffsets;
           21   76    17           unverifiedEntry  I
           22   76    18             verifiedEntry  I
           23   76    19          exceptionHandler  I
           24   76    20              deoptHandler  I
           25   76    21                 frameSize  I
           26   76    22           deoptRescueSlot  Ljdk/vm/ci/code/StackSlot;
           29   76    23              origPcOffset  I
           30   76    24               stubsOffset  I
           31   76    25                    offset  I
           36   76    26              unsafeAccess  I
           37   72    27                 totalSize  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           47   72    28              pcDescOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           48   72    29               scopeOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           49   72    30          relocationOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           50   72    31           exceptionOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           51   72    32        implictTableOFfset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           54   72    33              oopMapOffset  Ljdk/tools/jaotc/utils/NativeOrderOutputStream$PatchableInt;
           66   67    34                      data  [B
           71   72    34                      data  [B
           74   75    27                         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.NoSuchMethodException
          36    72      73  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 194
            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 196
            aload 3 /* metaDataEntries */
            arraylength
            ifne 3
         2: .line 197
            iconst_0
            ireturn
         3: .line 200
      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 202
            iconst_0
            istore 5 /* index */
        start local 5 // int index
         5: goto 12
         6: .line 203
      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 204
            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 206
            aload 0 /* binaryContainer */
            aload 7 /* name */
            invokestatic jdk.tools.jaotc.MetadataBuilder.addMetadataEntry:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
         9: .line 208
            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 209
      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 202
      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 212
            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 216
            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 217
            aload 0 /* binaryContainer */
            iload 2 /* stringOffset */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addMetadataGotEntry:(I)V
         2: .line 218
            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 227
            aload 1 /* compiledClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.getCompiledMethods:()Ljava/util/ArrayList;
            astore 2 /* compiledMethods */
        start local 2 // java.util.ArrayList compiledMethods
         1: .line 229
            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 230
            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 231
            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 233
            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 234
            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 235
            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 236
            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 237
            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 238
            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 240
      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 241
            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 240
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 244
            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 245
            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 244
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        19: .line 248
            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 249
            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 248
      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 233
      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 252
            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