public class jdk.tools.jaotc.binformat.elf.JELFRelocObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.tools.jaotc.binformat.elf.JELFRelocObject
  super_class: java.lang.Object
{
  private final jdk.tools.jaotc.binformat.BinaryContainer binContainer;
    descriptor: Ljdk/tools/jaotc/binformat/BinaryContainer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.tools.jaotc.jnilibelf.JNIELFContainer elfContainer;
    descriptor: Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int segmentSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  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 52
            ldc Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            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.binformat.elf.JELFRelocObject.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.tools.jaotc.binformat.BinaryContainer, java.lang.String, java.lang.String);
    descriptor: (Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // jdk.tools.jaotc.binformat.BinaryContainer binContainer
        start local 2 // java.lang.String outputFileName
        start local 3 // java.lang.String aotVersion
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            aload 1 /* binContainer */
            putfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
         2: .line 62
            aload 0 /* this */
            new jdk.tools.jaotc.jnilibelf.JNIELFContainer
            dup
            aload 2 /* outputFileName */
            aload 3 /* aotVersion */
            invokespecial jdk.tools.jaotc.jnilibelf.JNIELFContainer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            putfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
         3: .line 63
            aload 0 /* this */
            aload 1 /* binContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeSegmentSize:()I
            putfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.segmentSize:I
         4: .line 64
            return
        end local 3 // java.lang.String aotVersion
        end local 2 // java.lang.String outputFileName
        end local 1 // jdk.tools.jaotc.binformat.BinaryContainer binContainer
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0    5     1    binContainer  Ljdk/tools/jaotc/binformat/BinaryContainer;
            0    5     2  outputFileName  Ljava/lang/String;
            0    5     3      aotVersion  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      binContainer    
      outputFileName  
      aotVersion      

  private void createByteSection(jdk.tools.jaotc.binformat.ByteContainer, int);
    descriptor: (Ljdk/tools/jaotc/binformat/ByteContainer;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=3
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // jdk.tools.jaotc.binformat.ByteContainer c
        start local 2 // int scnFlags
         0: .line 67
            aload 1 /* c */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteArray:()[B
            astore 3 /* scnData */
        start local 3 // byte[] scnData
         1: .line 68
            iconst_1
            istore 4 /* scnType */
        start local 4 // int scnType
         2: .line 69
            aload 1 /* c */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.hasRelocations:()Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: byte[] int
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* zeros */
        start local 5 // boolean zeros
         5: .line 70
            iload 5 /* zeros */
            ifeq 15
         6: .line 71
            aload 3 /* scnData */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 12
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject jdk.tools.jaotc.binformat.ByteContainer int byte[] int int top int int byte[]
      StackMap stack:
         7: aload 9
            iload 7
            baload
            istore 6 /* b */
        start local 6 // byte b
         8: .line 72
            iload 6 /* b */
            ifeq 11
         9: .line 73
            iconst_0
            istore 5 /* zeros */
        10: .line 74
            goto 13
        end local 6 // byte b
        11: .line 71
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        12: iload 7
            iload 8
            if_icmplt 7
        13: .line 77
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject jdk.tools.jaotc.binformat.ByteContainer int byte[] int int
      StackMap stack:
            iload 5 /* zeros */
            ifeq 15
        14: .line 78
            bipush 8
            istore 4 /* scnType */
        15: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            aload 1 /* c */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getContainerName:()Ljava/lang/String;
            aload 3 /* scnData */
            getstatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type.ELF_T_BYTE:Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.segmentSize:I
            iload 4 /* scnType */
            iload 2 /* scnFlags */
            iconst_0
            iconst_0
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createSection:(Ljava/lang/String;[BLjdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;IIIII)I
            istore 6 /* sectionId */
        start local 6 // int sectionId
        16: .line 83
            aload 1 /* c */
            iload 6 /* sectionId */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.setSectionId:(I)V
        17: .line 85
            aload 1 /* c */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.clear:()V
        18: .line 86
            return
        end local 6 // int sectionId
        end local 5 // boolean zeros
        end local 4 // int scnType
        end local 3 // byte[] scnData
        end local 2 // int scnFlags
        end local 1 // jdk.tools.jaotc.binformat.ByteContainer c
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0   19     1          c  Ljdk/tools/jaotc/binformat/ByteContainer;
            0   19     2   scnFlags  I
            1   19     3    scnData  [B
            2   19     4    scnType  I
            5   19     5      zeros  Z
            8   11     6          b  B
           16   19     6  sectionId  I
    MethodParameters:
          Name  Flags
      c         
      scnFlags  

  private void createCodeSection(jdk.tools.jaotc.binformat.CodeContainer);
    descriptor: (Ljdk/tools/jaotc/binformat/CodeContainer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // jdk.tools.jaotc.binformat.CodeContainer c
         0: .line 89
            aload 0 /* this */
            aload 1 /* c */
            bipush 6
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljdk/tools/jaotc/binformat/ByteContainer;I)V
         1: .line 90
            return
        end local 1 // jdk.tools.jaotc.binformat.CodeContainer c
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0    2     1     c  Ljdk/tools/jaotc/binformat/CodeContainer;
    MethodParameters:
      Name  Flags
      c     

  private void createReadOnlySection(jdk.tools.jaotc.binformat.ReadOnlyDataContainer);
    descriptor: (Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // jdk.tools.jaotc.binformat.ReadOnlyDataContainer c
         0: .line 93
            aload 0 /* this */
            aload 1 /* c */
            iconst_2
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljdk/tools/jaotc/binformat/ByteContainer;I)V
         1: .line 94
            return
        end local 1 // jdk.tools.jaotc.binformat.ReadOnlyDataContainer c
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0    2     1     c  Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
    MethodParameters:
      Name  Flags
      c     

  private void createReadWriteSection(jdk.tools.jaotc.binformat.ByteContainer);
    descriptor: (Ljdk/tools/jaotc/binformat/ByteContainer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // jdk.tools.jaotc.binformat.ByteContainer c
         0: .line 97
            aload 0 /* this */
            aload 1 /* c */
            iconst_3
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljdk/tools/jaotc/binformat/ByteContainer;I)V
         1: .line 98
            return
        end local 1 // jdk.tools.jaotc.binformat.ByteContainer c
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0    2     1     c  Ljdk/tools/jaotc/binformat/ByteContainer;
    MethodParameters:
      Name  Flags
      c     

  public void createELFRelocObject(java.util.Map<jdk.tools.jaotc.binformat.Symbol, java.util.List<jdk.tools.jaotc.binformat.Relocation>>, java.util.Collection<jdk.tools.jaotc.binformat.Symbol>);
    descriptor: (Ljava/util/Map;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=3
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // java.util.Map relocationTable
        start local 2 // java.util.Collection symbols
         0: .line 109
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            iconst_1
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createELFHeader:(I)V
         1: .line 112
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeContainer:()Ljdk/tools/jaotc/binformat/CodeContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createCodeSection:(Ljdk/tools/jaotc/binformat/CodeContainer;)V
         2: .line 113
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetaspaceNamesContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
         3: .line 114
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
         4: .line 115
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodsOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
         5: .line 116
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesDependenciesContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
         6: .line 117
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetaspaceGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         7: .line 118
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetadataGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         8: .line 119
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodStateContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
         9: .line 120
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getOopGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        10: .line 121
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodMetadataContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        11: .line 122
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getStubsOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
        12: .line 123
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getHeaderContainer:()Ljdk/tools/jaotc/binformat/HeaderContainer;
            invokevirtual jdk.tools.jaotc.binformat.HeaderContainer.getContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
        13: .line 124
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeSegmentsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
        14: .line 125
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getConstantDataContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
        15: .line 126
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getConfigContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
        16: .line 130
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getExtLinkageContainer:()Ljdk/tools/jaotc/binformat/CodeContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createCodeSection:(Ljdk/tools/jaotc/binformat/CodeContainer;)V
        17: .line 131
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getExtLinkageGOTContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        18: .line 134
            aload 0 /* this */
            aload 2 /* symbols */
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createELFSymbolTables:(Ljava/util/Collection;)V
        19: .line 138
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            ldc ".strtab"
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.getStrTabContent:()Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            getstatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type.ELF_T_BYTE:Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;
            iconst_1
            iconst_3
            iconst_0
            iconst_0
            iconst_0
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createSection:(Ljava/lang/String;[BLjdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;IIIII)I
            istore 3 /* strTabSectionIndex */
        start local 3 // int strTabSectionIndex
        20: .line 143
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.getFirstNonLocalSymbolIndex:()I
            istore 4 /* scnInfo */
        start local 4 // int scnInfo
        21: .line 144
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            ldc ".symtab"
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.getELFSymbolTableData:()[B
            getstatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type.ELF_T_SYM:Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;
            bipush 8
            iconst_2
            iconst_2
            iload 3 /* strTabSectionIndex */
            iload 4 /* scnInfo */
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createSection:(Ljava/lang/String;[BLjdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;IIIII)I
            istore 5 /* symTabSectionIndex */
        start local 5 // int symTabSectionIndex
        22: .line 146
            aload 0 /* this */
            aload 1 /* relocationTable */
            iload 5 /* symTabSectionIndex */
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.buildRelocations:(Ljava/util/Map;I)V
        23: .line 149
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            ldc ".shstrtab"
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.getShStrTabContent:()Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            getstatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type.ELF_T_BYTE:Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;
            iconst_1
            iconst_3
            iconst_0
            iconst_0
            iconst_0
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createSection:(Ljava/lang/String;[BLjdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;IIIII)I
            pop
        24: .line 152
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            getstatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Cmd.ELF_C_NULL:Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Cmd;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfUpdate:(Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Cmd;)Z
            pop
        25: .line 155
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            getstatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Cmd.ELF_C_WRITE:Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Cmd;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfUpdate:(Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Cmd;)Z
            pop
        26: .line 157
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfEnd:()Z
            pop
        27: .line 158
            return
        end local 5 // int symTabSectionIndex
        end local 4 // int scnInfo
        end local 3 // int strTabSectionIndex
        end local 2 // java.util.Collection symbols
        end local 1 // java.util.Map relocationTable
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   28     0                this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0   28     1     relocationTable  Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
            0   28     2             symbols  Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;
           20   28     3  strTabSectionIndex  I
           21   28     4             scnInfo  I
           22   28     5  symTabSectionIndex  I
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;)V
    MethodParameters:
                 Name  Flags
      relocationTable  
      symbols          

  private void buildRelocations(java.util.Map<jdk.tools.jaotc.binformat.Symbol, java.util.List<jdk.tools.jaotc.binformat.Relocation>>, );
    descriptor: (Ljava/util/Map;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // java.util.Map relocationTable
        start local 2 // int symTabSectionIndex
         0: .line 165
            aload 0 /* this */
            aload 1 /* relocationTable */
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createELFRelocationTables:(Ljava/util/Map;)V
         1: .line 166
            aload 0 /* this */
            new jdk.tools.jaotc.binformat.elf.JELFRelocObject$SymTabELFContainer
            dup
            iload 2 /* symTabSectionIndex */
            invokespecial jdk.tools.jaotc.binformat.elf.JELFRelocObject$SymTabELFContainer.<init>:(I)V
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createAllRelocationSections:(Ljdk/tools/jaotc/jnilibelf/ELFContainer;)V
         2: .line 167
            return
        end local 2 // int symTabSectionIndex
        end local 1 // java.util.Map relocationTable
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0    3     1     relocationTable  Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
            0    3     2  symTabSectionIndex  I
    Signature: (Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;I)V
    MethodParameters:
                    Name  Flags
      relocationTable     
      symTabSectionIndex  final

  private void createELFSymbolTables(java.util.Collection<jdk.tools.jaotc.binformat.Symbol>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=2
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // java.util.Collection symbols
         0: .line 177
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            ldc ""
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            iconst_1
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createELFSymbolEntry:(Ljava/lang/String;IIIIIZ)Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
            pop
         1: .line 180
            aload 1 /* symbols */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.Collection top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.Symbol
            astore 2 /* symbol */
        start local 2 // jdk.tools.jaotc.binformat.Symbol symbol
         3: .line 182
            aload 2 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getSection:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getSectionId:()I
            istore 4 /* secHdrIndex */
        start local 4 // int secHdrIndex
         4: .line 183
            aload 2 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getBinding:()Ljdk/tools/jaotc/binformat/Symbol$Binding;
            getstatic jdk.tools.jaotc.binformat.Symbol$Binding.LOCAL:Ljdk/tools/jaotc/binformat/Symbol$Binding;
            if_acmpne 5
            iconst_1
            goto 6
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.Collection jdk.tools.jaotc.binformat.Symbol java.util.Iterator int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 5 /* isLocal */
        start local 5 // boolean isLocal
         7: .line 184
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            aload 2 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getName:()Ljava/lang/String;
            aload 2 /* symbol */
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.getELFTypeOf:(Ljdk/tools/jaotc/binformat/Symbol;)I
            aload 2 /* symbol */
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.getELFBindOf:(Ljdk/tools/jaotc/binformat/Symbol;)I
            iload 4 /* secHdrIndex */
            aload 2 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getSize:()I
            aload 2 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getOffset:()I
            iload 5 /* isLocal */
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createELFSymbolEntry:(Ljava/lang/String;IIIIIZ)Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
            astore 6 /* elfSymbol */
        start local 6 // jdk.tools.jaotc.jnilibelf.ELFSymbol elfSymbol
         8: .line 185
            aload 2 /* symbol */
            aload 6 /* elfSymbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.setElfSymbol:(Ljdk/tools/jaotc/jnilibelf/ELFSymbol;)V
        end local 6 // jdk.tools.jaotc.jnilibelf.ELFSymbol elfSymbol
        end local 5 // boolean isLocal
        end local 4 // int secHdrIndex
        end local 2 // jdk.tools.jaotc.binformat.Symbol symbol
         9: .line 180
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 187
            return
        end local 1 // java.util.Collection symbols
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0   11     1      symbols  Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;
            3    9     2       symbol  Ljdk/tools/jaotc/binformat/Symbol;
            4    9     4  secHdrIndex  I
            7    9     5      isLocal  Z
            8    9     6    elfSymbol  Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
    Signature: (Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;)V
    MethodParameters:
         Name  Flags
      symbols  

  private byte[] getELFSymbolTableData();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
         0: .line 195
            invokestatic jdk.tools.jaotc.jnilibelf.JNIELFTargetInfo.sizeOfSymtabEntry:()I
            istore 1 /* entrySize */
        start local 1 // int entrySize
         1: .line 198
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.getLocalSymbols:()Ljava/util/List;
            astore 2 /* localSymbols */
        start local 2 // java.util.List localSymbols
         2: .line 199
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.getGlobalSymbols:()Ljava/util/List;
            astore 3 /* globalSymbols */
        start local 3 // java.util.List globalSymbols
         3: .line 201
            aload 2 /* localSymbols */
            invokeinterface java.util.List.size:()I
            istore 4 /* localSymCount */
        start local 4 // int localSymCount
         4: .line 202
            aload 3 /* globalSymbols */
            invokeinterface java.util.List.size:()I
            istore 5 /* globalSymCount */
        start local 5 // int globalSymCount
         5: .line 203
            iload 4 /* localSymCount */
            iload 5 /* globalSymCount */
            iadd
            iload 1 /* entrySize */
            imul
            newarray 8
            astore 6 /* sectionDataArray */
        start local 6 // byte[] sectionDataArray
         6: .line 205
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 12
         8: .line 206
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject int java.util.List java.util.List int int byte[] int
      StackMap stack:
            aload 2 /* localSymbols */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.tools.jaotc.jnilibelf.ELFSymbol
            astore 8 /* symbol */
        start local 8 // jdk.tools.jaotc.jnilibelf.ELFSymbol symbol
         9: .line 207
            aload 8 /* symbol */
            invokevirtual jdk.tools.jaotc.jnilibelf.ELFSymbol.getAddress:()Ljdk/tools/jaotc/jnilibelf/Pointer;
            astore 9 /* address */
        start local 9 // jdk.tools.jaotc.jnilibelf.Pointer address
        10: .line 208
            aload 9 /* address */
            aload 6 /* sectionDataArray */
            iload 1 /* entrySize */
            iload 7 /* i */
            iload 1 /* entrySize */
            imul
            invokevirtual jdk.tools.jaotc.jnilibelf.Pointer.copyBytesTo:([BII)V
        end local 9 // jdk.tools.jaotc.jnilibelf.Pointer address
        end local 8 // jdk.tools.jaotc.jnilibelf.ELFSymbol symbol
        11: .line 205
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 7 /* i */
            iload 4 /* localSymCount */
            if_icmplt 8
        end local 7 // int i
        13: .line 213
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        14: goto 19
        15: .line 214
      StackMap locals:
      StackMap stack:
            aload 3 /* globalSymbols */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.tools.jaotc.jnilibelf.ELFSymbol
            astore 8 /* symbol */
        start local 8 // jdk.tools.jaotc.jnilibelf.ELFSymbol symbol
        16: .line 215
            aload 8 /* symbol */
            invokevirtual jdk.tools.jaotc.jnilibelf.ELFSymbol.getAddress:()Ljdk/tools/jaotc/jnilibelf/Pointer;
            astore 9 /* address */
        start local 9 // jdk.tools.jaotc.jnilibelf.Pointer address
        17: .line 216
            aload 9 /* address */
            aload 6 /* sectionDataArray */
            iload 1 /* entrySize */
            iload 4 /* localSymCount */
            iload 7 /* i */
            iadd
            iload 1 /* entrySize */
            imul
            invokevirtual jdk.tools.jaotc.jnilibelf.Pointer.copyBytesTo:([BII)V
        end local 9 // jdk.tools.jaotc.jnilibelf.Pointer address
        end local 8 // jdk.tools.jaotc.jnilibelf.ELFSymbol symbol
        18: .line 213
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* i */
            iload 5 /* globalSymCount */
            if_icmplt 15
        end local 7 // int i
        20: .line 219
            aload 6 /* sectionDataArray */
            areturn
        end local 6 // byte[] sectionDataArray
        end local 5 // int globalSymCount
        end local 4 // int localSymCount
        end local 3 // java.util.List globalSymbols
        end local 2 // java.util.List localSymbols
        end local 1 // int entrySize
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0              this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            1   21     1         entrySize  I
            2   21     2      localSymbols  Ljava/util/List<Ljdk/tools/jaotc/jnilibelf/ELFSymbol;>;
            3   21     3     globalSymbols  Ljava/util/List<Ljdk/tools/jaotc/jnilibelf/ELFSymbol;>;
            4   21     4     localSymCount  I
            5   21     5    globalSymCount  I
            6   21     6  sectionDataArray  [B
            7   13     7                 i  I
            9   11     8            symbol  Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
           10   11     9           address  Ljdk/tools/jaotc/jnilibelf/Pointer;
           14   20     7                 i  I
           16   18     8            symbol  Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
           17   18     9           address  Ljdk/tools/jaotc/jnilibelf/Pointer;

  private static int getELFTypeOf(jdk.tools.jaotc.binformat.Symbol);
    descriptor: (Ljdk/tools/jaotc/binformat/Symbol;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.tools.jaotc.binformat.Symbol sym
         0: .line 223
            aload 0 /* sym */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getKind:()Ljdk/tools/jaotc/binformat/Symbol$Kind;
            astore 1 /* kind */
        start local 1 // jdk.tools.jaotc.binformat.Symbol$Kind kind
         1: .line 224
            aload 1 /* kind */
            getstatic jdk.tools.jaotc.binformat.Symbol$Kind.NATIVE_FUNCTION:Ljdk/tools/jaotc/binformat/Symbol$Kind;
            if_acmpeq 2
            aload 1 /* kind */
            getstatic jdk.tools.jaotc.binformat.Symbol$Kind.JAVA_FUNCTION:Ljdk/tools/jaotc/binformat/Symbol$Kind;
            if_acmpne 3
         2: .line 225
      StackMap locals: jdk.tools.jaotc.binformat.Symbol$Kind
      StackMap stack:
            iconst_2
            ireturn
         3: .line 226
      StackMap locals:
      StackMap stack:
            aload 1 /* kind */
            getstatic jdk.tools.jaotc.binformat.Symbol$Kind.OBJECT:Ljdk/tools/jaotc/binformat/Symbol$Kind;
            if_acmpne 5
         4: .line 227
            iconst_1
            ireturn
         5: .line 229
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.tools.jaotc.binformat.Symbol$Kind kind
        end local 0 // jdk.tools.jaotc.binformat.Symbol sym
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   sym  Ljdk/tools/jaotc/binformat/Symbol;
            1    6     1  kind  Ljdk/tools/jaotc/binformat/Symbol$Kind;
    MethodParameters:
      Name  Flags
      sym   

  private static int getELFBindOf(jdk.tools.jaotc.binformat.Symbol);
    descriptor: (Ljdk/tools/jaotc/binformat/Symbol;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.tools.jaotc.binformat.Symbol sym
         0: .line 233
            aload 0 /* sym */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getBinding:()Ljdk/tools/jaotc/binformat/Symbol$Binding;
            astore 1 /* binding */
        start local 1 // jdk.tools.jaotc.binformat.Symbol$Binding binding
         1: .line 234
            aload 1 /* binding */
            getstatic jdk.tools.jaotc.binformat.Symbol$Binding.GLOBAL:Ljdk/tools/jaotc/binformat/Symbol$Binding;
            if_acmpne 3
         2: .line 235
            iconst_1
            ireturn
         3: .line 237
      StackMap locals: jdk.tools.jaotc.binformat.Symbol$Binding
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.tools.jaotc.binformat.Symbol$Binding binding
        end local 0 // jdk.tools.jaotc.binformat.Symbol sym
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0      sym  Ljdk/tools/jaotc/binformat/Symbol;
            1    4     1  binding  Ljdk/tools/jaotc/binformat/Symbol$Binding;
    MethodParameters:
      Name  Flags
      sym   

  private void createELFRelocationTables(java.util.Map<jdk.tools.jaotc.binformat.Symbol, java.util.List<jdk.tools.jaotc.binformat.Relocation>>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // java.util.Map relocationTable
         0: .line 250
            aload 1 /* relocationTable */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         2: .line 251
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* relocs */
        start local 4 // java.util.List relocs
         3: .line 252
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.Symbol
            astore 5 /* symbol */
        start local 5 // jdk.tools.jaotc.binformat.Symbol symbol
         4: .line 254
            aload 4 /* relocs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 7
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.Map java.util.Map$Entry java.util.Iterator java.util.List jdk.tools.jaotc.binformat.Symbol top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.Relocation
            astore 6 /* reloc */
        start local 6 // jdk.tools.jaotc.binformat.Relocation reloc
         6: .line 255
            aload 0 /* this */
            aload 5 /* symbol */
            aload 6 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createRelocation:(Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;)V
        end local 6 // jdk.tools.jaotc.binformat.Relocation reloc
         7: .line 254
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 5 // jdk.tools.jaotc.binformat.Symbol symbol
        end local 4 // java.util.List relocs
        end local 2 // java.util.Map$Entry entry
         8: .line 250
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.Map top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 259
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getUniqueRelocationTable:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals:
      StackMap stack:
        10: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
        11: .line 260
            aload 0 /* this */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.Symbol
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.Relocation
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createRelocation:(Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;)V
        end local 2 // java.util.Map$Entry entry
        12: .line 259
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 262
            return
        end local 1 // java.util.Map relocationTable
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0   14     1  relocationTable  Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
            2    8     2            entry  Ljava/util/Map$Entry<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
            3    8     4           relocs  Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;
            4    8     5           symbol  Ljdk/tools/jaotc/binformat/Symbol;
            6    7     6            reloc  Ljdk/tools/jaotc/binformat/Relocation;
           11   12     2            entry  Ljava/util/Map$Entry<Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;>;
    Signature: (Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;)V
    MethodParameters:
                 Name  Flags
      relocationTable  

  private void createRelocation(jdk.tools.jaotc.binformat.Symbol, jdk.tools.jaotc.binformat.Relocation);
    descriptor: (Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // jdk.tools.jaotc.binformat.Symbol symbol
        start local 2 // jdk.tools.jaotc.binformat.Relocation reloc
         0: .line 265
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getType:()Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            astore 3 /* relocType */
        start local 3 // jdk.tools.jaotc.binformat.Relocation$RelocType relocType
         1: .line 266
            aload 3 /* relocType */
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.getELFRelocationType:(Ljdk/tools/jaotc/binformat/Relocation$RelocType;)I
            istore 4 /* elfRelocType */
        start local 4 // int elfRelocType
         2: .line 268
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.$SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType:()[I
            aload 3 /* relocType */
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            iaload
            tableswitch { // 2 - 16
                    2: 11
                    3: 3
                    4: 11
                    5: 3
                    6: 3
                    7: 7
                    8: 3
                    9: 11
                   10: 12
                   11: 16
                   12: 20
                   13: 16
                   14: 16
                   15: 16
                   16: 20
              default: 22
          }
         3: .line 274
      StackMap locals: jdk.tools.jaotc.binformat.Relocation$RelocType int
      StackMap stack:
            bipush -4
            istore 5 /* addend */
        start local 5 // int addend
         4: .line 276
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getOffset:()I
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getSize:()I
            iadd
            iload 5 /* addend */
            iadd
            istore 6 /* offset */
        start local 6 // int offset
         5: .line 277
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getSection:()Ljdk/tools/jaotc/binformat/ByteContainer;
            iload 6 /* offset */
            iload 4 /* elfRelocType */
            iload 5 /* addend */
            aload 1 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getElfSymbol:()Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createELFRelocationEntry:(Ljdk/tools/jaotc/jnilibelf/ELFContainer;IIILjdk/tools/jaotc/jnilibelf/ELFSymbol;)V
         6: .line 278
            goto 23
        end local 6 // int offset
        end local 5 // int addend
         7: .line 282
      StackMap locals:
      StackMap stack:
            bipush -8
            istore 5 /* addend */
        start local 5 // int addend
         8: .line 285
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getOffset:()I
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getSize:()I
            iadd
            iload 5 /* addend */
            iadd
            iconst_2
            isub
            istore 6 /* offset */
        start local 6 // int offset
         9: .line 286
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getSection:()Ljdk/tools/jaotc/binformat/ByteContainer;
            iload 6 /* offset */
            iload 4 /* elfRelocType */
            iload 5 /* addend */
            aload 1 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getElfSymbol:()Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createELFRelocationEntry:(Ljdk/tools/jaotc/jnilibelf/ELFContainer;IIILjdk/tools/jaotc/jnilibelf/ELFSymbol;)V
        10: .line 287
            goto 23
        end local 6 // int offset
        end local 5 // int addend
        11: .line 293
      StackMap locals:
      StackMap stack:
            goto 23
        12: .line 297
      StackMap locals:
      StackMap stack:
            bipush -4
            istore 5 /* addend */
        start local 5 // int addend
        13: .line 303
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getOffset:()I
            iload 5 /* addend */
            iadd
            istore 6 /* offset */
        start local 6 // int offset
        14: .line 304
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getSection:()Ljdk/tools/jaotc/binformat/ByteContainer;
            iload 6 /* offset */
            iload 4 /* elfRelocType */
            iload 5 /* addend */
            aload 1 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getElfSymbol:()Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createELFRelocationEntry:(Ljdk/tools/jaotc/jnilibelf/ELFContainer;IIILjdk/tools/jaotc/jnilibelf/ELFSymbol;)V
        15: .line 305
            goto 23
        end local 6 // int offset
        end local 5 // int addend
        16: .line 311
      StackMap locals:
      StackMap stack:
            bipush -4
            istore 5 /* addend */
        start local 5 // int addend
        17: .line 317
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getOffset:()I
            iload 5 /* addend */
            iadd
            istore 6 /* offset */
        start local 6 // int offset
        18: .line 318
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getSection:()Ljdk/tools/jaotc/binformat/ByteContainer;
            iload 6 /* offset */
            iload 4 /* elfRelocType */
            iload 5 /* addend */
            aload 1 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getElfSymbol:()Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createELFRelocationEntry:(Ljdk/tools/jaotc/jnilibelf/ELFContainer;IIILjdk/tools/jaotc/jnilibelf/ELFSymbol;)V
        19: .line 319
            goto 23
        end local 6 // int offset
        end local 5 // int addend
        20: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getSection:()Ljdk/tools/jaotc/binformat/ByteContainer;
            aload 2 /* reloc */
            invokevirtual jdk.tools.jaotc.binformat.Relocation.getOffset:()I
            iload 4 /* elfRelocType */
            iconst_0
            aload 1 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getElfSymbol:()Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createELFRelocationEntry:(Ljdk/tools/jaotc/jnilibelf/ELFContainer;IIILjdk/tools/jaotc/jnilibelf/ELFSymbol;)V
        21: .line 325
            goto 23
        22: .line 328
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unhandled relocation type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* relocType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 330
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int elfRelocType
        end local 3 // jdk.tools.jaotc.binformat.Relocation$RelocType relocType
        end local 2 // jdk.tools.jaotc.binformat.Relocation reloc
        end local 1 // jdk.tools.jaotc.binformat.Symbol symbol
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0   24     1        symbol  Ljdk/tools/jaotc/binformat/Symbol;
            0   24     2         reloc  Ljdk/tools/jaotc/binformat/Relocation;
            1   24     3     relocType  Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            2   24     4  elfRelocType  I
            4    7     5        addend  I
            5    7     6        offset  I
            8   11     5        addend  I
            9   11     6        offset  I
           13   16     5        addend  I
           14   16     6        offset  I
           17   20     5        addend  I
           18   20     6        offset  I
    MethodParameters:
        Name  Flags
      symbol  
      reloc   

  private static int getELFRelocationType(jdk.tools.jaotc.binformat.Relocation$RelocType);
    descriptor: (Ljdk/tools/jaotc/binformat/Relocation$RelocType;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // jdk.tools.jaotc.binformat.Relocation$RelocType relocType
         0: .line 334
            iconst_0
            istore 1 /* elfRelocType */
        start local 1 // int elfRelocType
         1: .line 335
            invokestatic jdk.tools.jaotc.jnilibelf.JNIELFTargetInfo.getELFArch:()I
            tableswitch { // 62 - 62
                   62: 2
              default: 25
          }
         2: .line 338
      StackMap locals: int
      StackMap stack:
            aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.FOREIGN_CALL_DIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpeq 3
            aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.JAVA_CALL_DIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpeq 3
            aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.FOREIGN_CALL_INDIRECT_GOT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpne 5
         3: .line 339
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 1 /* elfRelocType */
         4: .line 340
            goto 26
      StackMap locals:
      StackMap stack:
         5: aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.STUB_CALL_DIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpne 8
         6: .line 341
            iconst_2
            istore 1 /* elfRelocType */
         7: .line 342
            goto 26
      StackMap locals:
      StackMap stack:
         8: aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.FOREIGN_CALL_DIRECT_FAR:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpne 11
         9: .line 343
            iconst_1
            istore 1 /* elfRelocType */
        10: .line 344
            goto 26
      StackMap locals:
      StackMap stack:
        11: aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.FOREIGN_CALL_INDIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpeq 12
            aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.JAVA_CALL_INDIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpeq 12
            aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.STUB_CALL_INDIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpne 14
        12: .line 345
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* elfRelocType */
        13: .line 346
            goto 26
      StackMap locals:
      StackMap stack:
        14: aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.EXTERNAL_DATA_REFERENCE_FAR:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpne 17
        15: .line 347
            bipush 9
            istore 1 /* elfRelocType */
        16: .line 348
            goto 26
      StackMap locals:
      StackMap stack:
        17: aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.METASPACE_GOT_REFERENCE:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpeq 19
            aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.EXTERNAL_PLT_TO_GOT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpeq 19
            aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.STATIC_STUB_TO_STATIC_METHOD:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpeq 19
        18: .line 349
            aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.STATIC_STUB_TO_HOTSPOT_LINKAGE_GOT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpne 21
        19: .line 350
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 1 /* elfRelocType */
        20: .line 351
            goto 26
      StackMap locals:
      StackMap stack:
        21: aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.EXTERNAL_GOT_TO_PLT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpeq 22
            aload 0 /* relocType */
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.LOADTIME_ADDRESS:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            if_acmpne 24
        22: .line 352
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* elfRelocType */
        23: .line 353
            goto 26
        24: .line 354
      StackMap locals:
      StackMap stack:
            getstatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.$assertionsDisabled:Z
            ifne 26
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unhandled relocation type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* relocType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        25: .line 358
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Relocation Type mapping: Unhandled architecture"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        26: .line 360
      StackMap locals:
      StackMap stack:
            iload 1 /* elfRelocType */
            ireturn
        end local 1 // int elfRelocType
        end local 0 // jdk.tools.jaotc.binformat.Relocation$RelocType relocType
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0     relocType  Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            1   27     1  elfRelocType  I
    MethodParameters:
           Name  Flags
      relocType  

  private void createAllRelocationSections(jdk.tools.jaotc.jnilibelf.ELFContainer);
    descriptor: (Ljdk/tools/jaotc/jnilibelf/ELFContainer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // jdk.tools.jaotc.jnilibelf.ELFContainer symtab
         0: .line 364
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.getRelocTables:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject jdk.tools.jaotc.jnilibelf.ELFContainer top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         2: .line 365
            aload 0 /* this */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.jnilibelf.ELFContainer
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.ArrayList
            aload 1 /* symtab */
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createRelocationSection:(Ljdk/tools/jaotc/jnilibelf/ELFContainer;Ljava/util/ArrayList;Ljdk/tools/jaotc/jnilibelf/ELFContainer;)V
        end local 2 // java.util.Map$Entry entry
         3: .line 364
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 367
            return
        end local 1 // jdk.tools.jaotc.jnilibelf.ELFContainer symtab
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0    5     1  symtab  Ljdk/tools/jaotc/jnilibelf/ELFContainer;
            2    3     2   entry  Ljava/util/Map$Entry<Ljdk/tools/jaotc/jnilibelf/ELFContainer;Ljava/util/ArrayList<Ljdk/tools/jaotc/jnilibelf/Pointer;>;>;
    MethodParameters:
        Name  Flags
      symtab  

  private void createRelocationSection(jdk.tools.jaotc.jnilibelf.ELFContainer, java.util.ArrayList<jdk.tools.jaotc.jnilibelf.Pointer>, jdk.tools.jaotc.jnilibelf.ELFContainer);
    descriptor: (Ljdk/tools/jaotc/jnilibelf/ELFContainer;Ljava/util/ArrayList;Ljdk/tools/jaotc/jnilibelf/ELFContainer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=4
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // jdk.tools.jaotc.jnilibelf.ELFContainer container
        start local 2 // java.util.ArrayList relocations
        start local 3 // jdk.tools.jaotc.jnilibelf.ELFContainer symtab
         0: .line 370
            aload 1 /* container */
            invokeinterface jdk.tools.jaotc.jnilibelf.ELFContainer.getContainerName:()Ljava/lang/String;
            astore 4 /* secName */
        start local 4 // java.lang.String secName
         1: .line 371
            invokestatic jdk.tools.jaotc.jnilibelf.JNIELFTargetInfo.sizeOfRelocEntry:()I
            istore 5 /* entrySize */
        start local 5 // int entrySize
         2: .line 372
            aload 2 /* relocations */
            invokevirtual java.util.ArrayList.size:()I
            istore 6 /* numEntries */
        start local 6 // int numEntries
         3: .line 373
            iload 6 /* numEntries */
            iload 5 /* entrySize */
            imul
            newarray 8
            astore 7 /* sectionDataBytes */
        start local 7 // byte[] sectionDataBytes
         4: .line 375
            iconst_0
            istore 8 /* index */
        start local 8 // int index
         5: goto 9
         6: .line 376
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject jdk.tools.jaotc.jnilibelf.ELFContainer java.util.ArrayList jdk.tools.jaotc.jnilibelf.ELFContainer java.lang.String int int byte[] int
      StackMap stack:
            aload 2 /* relocations */
            iload 8 /* index */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast jdk.tools.jaotc.jnilibelf.Pointer
            astore 9 /* entry */
        start local 9 // jdk.tools.jaotc.jnilibelf.Pointer entry
         7: .line 377
            aload 9 /* entry */
            aload 7 /* sectionDataBytes */
            iload 5 /* entrySize */
            iload 8 /* index */
            iload 5 /* entrySize */
            imul
            invokevirtual jdk.tools.jaotc.jnilibelf.Pointer.copyBytesTo:([BII)V
        end local 9 // jdk.tools.jaotc.jnilibelf.Pointer entry
         8: .line 375
            iinc 8 /* index */ 1
      StackMap locals:
      StackMap stack:
         9: iload 8 /* index */
            aload 2 /* relocations */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 6
        end local 8 // int index
        10: .line 381
            aload 7 /* sectionDataBytes */
            arraylength
            ifle 20
        11: .line 384
            invokestatic jdk.tools.jaotc.jnilibelf.JNIELFTargetInfo.createReloca:()I
            ifne 16
        12: .line 385
            bipush 9
            istore 9 /* scnType */
        start local 9 // int scnType
        13: .line 386
            getstatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type.ELF_T_REL:Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;
            astore 10 /* dataType */
        start local 10 // jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type dataType
        14: .line 387
            new java.lang.StringBuilder
            dup
            ldc ".rel"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* secName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* fullSecName */
        start local 8 // java.lang.String fullSecName
        15: .line 388
            goto 19
        end local 10 // jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type dataType
        end local 9 // int scnType
        end local 8 // java.lang.String fullSecName
        16: .line 389
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 9 /* scnType */
        start local 9 // int scnType
        17: .line 390
            getstatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type.ELF_T_RELA:Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;
            astore 10 /* dataType */
        start local 10 // jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type dataType
        18: .line 391
            new java.lang.StringBuilder
            dup
            ldc ".rela"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* secName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* fullSecName */
        start local 8 // java.lang.String fullSecName
        19: .line 399
      StackMap locals: java.lang.String int jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            aload 8 /* fullSecName */
            aload 7 /* sectionDataBytes */
            aload 10 /* dataType */
            bipush 8
            iload 9 /* scnType */
            iconst_2
            aload 3 /* symtab */
            invokeinterface jdk.tools.jaotc.jnilibelf.ELFContainer.getSectionId:()I
            aload 1 /* container */
            invokeinterface jdk.tools.jaotc.jnilibelf.ELFContainer.getSectionId:()I
            invokevirtual jdk.tools.jaotc.jnilibelf.JNIELFContainer.createSection:(Ljava/lang/String;[BLjdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;IIIII)I
            pop
        end local 10 // jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type dataType
        end local 9 // int scnType
        end local 8 // java.lang.String fullSecName
        20: .line 401
      StackMap locals:
      StackMap stack:
            return
        end local 7 // byte[] sectionDataBytes
        end local 6 // int numEntries
        end local 5 // int entrySize
        end local 4 // java.lang.String secName
        end local 3 // jdk.tools.jaotc.jnilibelf.ELFContainer symtab
        end local 2 // java.util.ArrayList relocations
        end local 1 // jdk.tools.jaotc.jnilibelf.ELFContainer container
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0              this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0   21     1         container  Ljdk/tools/jaotc/jnilibelf/ELFContainer;
            0   21     2       relocations  Ljava/util/ArrayList<Ljdk/tools/jaotc/jnilibelf/Pointer;>;
            0   21     3            symtab  Ljdk/tools/jaotc/jnilibelf/ELFContainer;
            1   21     4           secName  Ljava/lang/String;
            2   21     5         entrySize  I
            3   21     6        numEntries  I
            4   21     7  sectionDataBytes  [B
            5   10     8             index  I
            7    8     9             entry  Ljdk/tools/jaotc/jnilibelf/Pointer;
           15   16     8       fullSecName  Ljava/lang/String;
           19   20     8       fullSecName  Ljava/lang/String;
           13   16     9           scnType  I
           17   20     9           scnType  I
           14   16    10          dataType  Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;
           18   20    10          dataType  Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;
    Signature: (Ljdk/tools/jaotc/jnilibelf/ELFContainer;Ljava/util/ArrayList<Ljdk/tools/jaotc/jnilibelf/Pointer;>;Ljdk/tools/jaotc/jnilibelf/ELFContainer;)V
    MethodParameters:
             Name  Flags
      container    
      relocations  
      symtab       

  static int[] $SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 52
            getstatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.$SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.tools.jaotc.binformat.Relocation$RelocType.values:()[Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.EXTERNAL_DATA_REFERENCE_FAR:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            bipush 10
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.EXTERNAL_GOT_TO_PLT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            bipush 12
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.EXTERNAL_PLT_TO_GOT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            bipush 13
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.FOREIGN_CALL_DIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            bipush 6
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.FOREIGN_CALL_DIRECT_FAR:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            bipush 7
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.FOREIGN_CALL_INDIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            iconst_4
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.FOREIGN_CALL_INDIRECT_GOT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.JAVA_CALL_DIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            iconst_3
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.JAVA_CALL_INDIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            iconst_2
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.LOADTIME_ADDRESS:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            bipush 16
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.METASPACE_GOT_REFERENCE:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            bipush 11
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.STATIC_STUB_TO_HOTSPOT_LINKAGE_GOT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            bipush 15
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.STATIC_STUB_TO_STATIC_METHOD:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            bipush 14
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.STUB_CALL_DIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            bipush 8
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.STUB_CALL_INDIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            bipush 9
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.UNDEFINED:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
            invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
            iconst_1
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            dup
            putstatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.$SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
}
SourceFile: "JELFRelocObject.java"
NestMembers:
  jdk.tools.jaotc.binformat.elf.JELFRelocObject$SymTabELFContainer
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final RelocType = jdk.tools.jaotc.binformat.Relocation$RelocType of jdk.tools.jaotc.binformat.Relocation
  public final Binding = jdk.tools.jaotc.binformat.Symbol$Binding of jdk.tools.jaotc.binformat.Symbol
  public final Kind = jdk.tools.jaotc.binformat.Symbol$Kind of jdk.tools.jaotc.binformat.Symbol
  private SymTabELFContainer = jdk.tools.jaotc.binformat.elf.JELFRelocObject$SymTabELFContainer of jdk.tools.jaotc.binformat.elf.JELFRelocObject
  public abstract LibELF = jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF of jdk.tools.jaotc.jnilibelf.JNILibELFAPI
  public final Elf_Cmd = jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Cmd of jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF
  public final Elf_Type = jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type of jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF