public abstract class jdk.tools.jaotc.binformat.elf.JELFRelocObject
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  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.binformat.elf.ElfContainer elfContainer;
    descriptor: Ljdk/tools/jaotc/binformat/elf/ElfContainer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  protected void <init>(jdk.tools.jaotc.binformat.BinaryContainer, java.lang.String);
    descriptor: (Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        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
         0: .line 57
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            aload 1 /* binContainer */
            putfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
         2: .line 59
            aload 0 /* this */
            new jdk.tools.jaotc.binformat.elf.ElfContainer
            dup
            aload 2 /* outputFileName */
            invokespecial jdk.tools.jaotc.binformat.elf.ElfContainer.<init>:(Ljava/lang/String;)V
            putfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/binformat/elf/ElfContainer;
         3: .line 60
            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 61
            return
        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;
    MethodParameters:
                Name  Flags
      binContainer    
      outputFileName  

  public static jdk.tools.jaotc.binformat.elf.JELFRelocObject newInstance(jdk.tools.jaotc.binformat.BinaryContainer, java.lang.String);
    descriptor: (Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.tools.jaotc.binformat.BinaryContainer binContainer
        start local 1 // java.lang.String outputFileName
         0: .line 64
            ldc "os.arch"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 2 /* archStr */
        start local 2 // java.lang.String archStr
         1: .line 65
            aload 2 /* archStr */
            ldc "amd64"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            aload 2 /* archStr */
            ldc "x86_64"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 66
      StackMap locals: java.lang.String
      StackMap stack:
            new jdk.tools.jaotc.binformat.elf.AMD64JELFRelocObject
            dup
            aload 0 /* binContainer */
            aload 1 /* outputFileName */
            invokespecial jdk.tools.jaotc.binformat.elf.AMD64JELFRelocObject.<init>:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
            areturn
         3: .line 67
      StackMap locals:
      StackMap stack:
            aload 2 /* archStr */
            ldc "aarch64"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 68
            new jdk.tools.jaotc.binformat.elf.AArch64JELFRelocObject
            dup
            aload 0 /* binContainer */
            aload 1 /* outputFileName */
            invokespecial jdk.tools.jaotc.binformat.elf.AArch64JELFRelocObject.<init>:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
            areturn
         5: .line 70
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported platform: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* archStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String archStr
        end local 1 // java.lang.String outputFileName
        end local 0 // jdk.tools.jaotc.binformat.BinaryContainer binContainer
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0    binContainer  Ljdk/tools/jaotc/binformat/BinaryContainer;
            0    6     1  outputFileName  Ljava/lang/String;
            1    6     2         archStr  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      binContainer    
      outputFileName  

  private static jdk.tools.jaotc.binformat.elf.ElfSection createByteSection(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, java.lang.String, byte[], boolean, int, int, int);
    descriptor: (Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=8, args_size=7
        start local 0 // java.util.ArrayList sections
        start local 1 // java.lang.String sectName
        start local 2 // byte[] scnData
        start local 3 // boolean hasRelocs
        start local 4 // int align
        start local 5 // int scnFlags
        start local 6 // int scnType
         0: .line 81
            new jdk.tools.jaotc.binformat.elf.ElfSection
            dup
            aload 1 /* sectName */
            aload 2 /* scnData */
            iload 5 /* scnFlags */
            iload 6 /* scnType */
         1: .line 82
            iload 3 /* hasRelocs */
            iload 4 /* align */
            aload 0 /* sections */
            invokevirtual java.util.ArrayList.size:()I
         2: .line 81
            invokespecial jdk.tools.jaotc.binformat.elf.ElfSection.<init>:(Ljava/lang/String;[BIIZII)V
            astore 7 /* sect */
        start local 7 // jdk.tools.jaotc.binformat.elf.ElfSection sect
         3: .line 84
            aload 0 /* sections */
            aload 7 /* sect */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 86
            aload 7 /* sect */
            areturn
        end local 7 // jdk.tools.jaotc.binformat.elf.ElfSection sect
        end local 6 // int scnType
        end local 5 // int scnFlags
        end local 4 // int align
        end local 3 // boolean hasRelocs
        end local 2 // byte[] scnData
        end local 1 // java.lang.String sectName
        end local 0 // java.util.ArrayList sections
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   sections  Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
            0    5     1   sectName  Ljava/lang/String;
            0    5     2    scnData  [B
            0    5     3  hasRelocs  Z
            0    5     4      align  I
            0    5     5   scnFlags  I
            0    5     6    scnType  I
            3    5     7       sect  Ljdk/tools/jaotc/binformat/elf/ElfSection;
    Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
    MethodParameters:
           Name  Flags
      sections   
      sectName   
      scnData    
      hasRelocs  
      align      
      scnFlags   
      scnType    

  private void createByteSection(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, jdk.tools.jaotc.binformat.ByteContainer, );
    descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=4
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // java.util.ArrayList sections
        start local 2 // jdk.tools.jaotc.binformat.ByteContainer c
        start local 3 // int scnFlags
         0: .line 92
            aload 2 /* c */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.hasRelocations:()Z
            istore 5 /* hasRelocs */
        start local 5 // boolean hasRelocs
         1: .line 93
            aload 2 /* c */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteArray:()[B
            astore 6 /* scnData */
        start local 6 // byte[] scnData
         2: .line 95
            iconst_1
            istore 7 /* scnType */
        start local 7 // int scnType
         3: .line 96
            iload 5 /* hasRelocs */
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.ArrayList jdk.tools.jaotc.binformat.ByteContainer int top int byte[] int
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 8 /* zeros */
        start local 8 // boolean zeros
         6: .line 97
            iload 8 /* zeros */
            ifeq 16
         7: .line 98
            aload 6 /* scnData */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 13
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.ArrayList jdk.tools.jaotc.binformat.ByteContainer int top int byte[] int int top int int byte[]
      StackMap stack:
         8: aload 12
            iload 10
            baload
            istore 9 /* b */
        start local 9 // byte b
         9: .line 99
            iload 9 /* b */
            ifeq 12
        10: .line 100
            iconst_0
            istore 8 /* zeros */
        11: .line 101
            goto 14
        end local 9 // byte b
        12: .line 98
      StackMap locals:
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        13: iload 10
            iload 11
            if_icmplt 8
        14: .line 104
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.ArrayList jdk.tools.jaotc.binformat.ByteContainer int top int byte[] int int
      StackMap stack:
            iload 8 /* zeros */
            ifeq 16
        15: .line 105
            bipush 8
            istore 7 /* scnType */
        16: .line 109
      StackMap locals:
      StackMap stack:
            aload 1 /* sections */
            aload 2 /* c */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getContainerName:()Ljava/lang/String;
        17: .line 110
            aload 6 /* scnData */
            iload 5 /* hasRelocs */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.segmentSize:I
        18: .line 111
            iload 3 /* scnFlags */
            iload 7 /* scnType */
        19: .line 109
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
            astore 4 /* sect */
        start local 4 // jdk.tools.jaotc.binformat.elf.ElfSection sect
        20: .line 112
            aload 2 /* c */
            aload 4 /* sect */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSectionId:()I
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.setSectionId:(I)V
        21: .line 113
            return
        end local 8 // boolean zeros
        end local 7 // int scnType
        end local 6 // byte[] scnData
        end local 5 // boolean hasRelocs
        end local 4 // jdk.tools.jaotc.binformat.elf.ElfSection sect
        end local 3 // int scnFlags
        end local 2 // jdk.tools.jaotc.binformat.ByteContainer c
        end local 1 // java.util.ArrayList sections
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0   22     1   sections  Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
            0   22     2          c  Ljdk/tools/jaotc/binformat/ByteContainer;
            0   22     3   scnFlags  I
           20   22     4       sect  Ljdk/tools/jaotc/binformat/elf/ElfSection;
            1   22     5  hasRelocs  Z
            2   22     6    scnData  [B
            3   22     7    scnType  I
            6   22     8      zeros  Z
            9   12     9          b  B
    Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljdk/tools/jaotc/binformat/ByteContainer;I)V
    MethodParameters:
          Name  Flags
      sections  
      c         
      scnFlags  

  private void createCodeSection(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, jdk.tools.jaotc.binformat.CodeContainer);
    descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/CodeContainer;)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.ArrayList sections
        start local 2 // jdk.tools.jaotc.binformat.CodeContainer c
         0: .line 116
            aload 0 /* this */
            aload 1 /* sections */
            aload 2 /* c */
            bipush 6
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;I)V
         1: .line 117
            return
        end local 2 // jdk.tools.jaotc.binformat.CodeContainer c
        end local 1 // java.util.ArrayList sections
        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  sections  Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
            0    2     2         c  Ljdk/tools/jaotc/binformat/CodeContainer;
    Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljdk/tools/jaotc/binformat/CodeContainer;)V
    MethodParameters:
          Name  Flags
      sections  
      c         

  private void createReadOnlySection(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, jdk.tools.jaotc.binformat.ReadOnlyDataContainer);
    descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)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.ArrayList sections
        start local 2 // jdk.tools.jaotc.binformat.ReadOnlyDataContainer c
         0: .line 120
            aload 0 /* this */
            aload 1 /* sections */
            aload 2 /* c */
            iconst_2
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;I)V
         1: .line 121
            return
        end local 2 // jdk.tools.jaotc.binformat.ReadOnlyDataContainer c
        end local 1 // java.util.ArrayList sections
        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  sections  Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
            0    2     2         c  Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
    Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
    MethodParameters:
          Name  Flags
      sections  
      c         

  private void createReadWriteSection(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, jdk.tools.jaotc.binformat.ByteContainer);
    descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)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.ArrayList sections
        start local 2 // jdk.tools.jaotc.binformat.ByteContainer c
         0: .line 124
            aload 0 /* this */
            aload 1 /* sections */
            aload 2 /* c */
            iconst_3
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;I)V
         1: .line 125
            return
        end local 2 // jdk.tools.jaotc.binformat.ByteContainer c
        end local 1 // java.util.ArrayList sections
        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  sections  Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
            0    2     2         c  Ljdk/tools/jaotc/binformat/ByteContainer;
    Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljdk/tools/jaotc/binformat/ByteContainer;)V
    MethodParameters:
          Name  Flags
      sections  
      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=7, locals=13, 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 136
            new jdk.tools.jaotc.binformat.elf.ElfHeader
            dup
            invokespecial jdk.tools.jaotc.binformat.elf.ElfHeader.<init>:()V
            astore 3 /* eh */
        start local 3 // jdk.tools.jaotc.binformat.elf.ElfHeader eh
         1: .line 138
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* sections */
        start local 4 // java.util.ArrayList sections
         2: .line 141
            aload 4 /* sections */
            aconst_null
            aconst_null
            iconst_0
            iconst_1
            iconst_0
            iconst_0
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
            pop
         3: .line 144
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/CodeContainer;)V
         4: .line 145
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
         5: .line 146
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
         6: .line 147
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
         7: .line 148
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
         8: .line 149
            aload 0 /* this */
            aload 4 /* sections */
            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/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
         9: .line 150
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
        10: .line 151
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
        11: .line 152
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
        12: .line 153
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
        13: .line 154
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
        14: .line 155
            aload 0 /* this */
            aload 4 /* sections */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
        15: .line 156
            aload 0 /* this */
            aload 4 /* sections */
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCountersGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
        16: .line 157
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
        17: .line 158
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
        18: .line 159
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
        19: .line 160
            aload 0 /* this */
            aload 4 /* sections */
            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:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
        20: .line 163
            aload 2 /* symbols */
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createELFSymbolTables:(Ljava/util/Collection;)Ljdk/tools/jaotc/binformat/elf/ElfSymtab;
            astore 5 /* symtab */
        start local 5 // jdk.tools.jaotc.binformat.elf.ElfSymtab symtab
        21: .line 168
            aload 4 /* sections */
            ldc ".strtab"
        22: .line 169
            aload 5 /* symtab */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSymtab.getStrtabArray:()[B
        23: .line 170
            iconst_0
            iconst_1
            iconst_0
        24: .line 171
            iconst_3
        25: .line 168
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
            astore 6 /* strTabSection */
        start local 6 // jdk.tools.jaotc.binformat.elf.ElfSection strTabSection
        26: .line 177
            aload 4 /* sections */
            ldc ".symtab"
        27: .line 178
            aload 5 /* symtab */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSymtab.getSymtabArray:()[B
        28: .line 179
            iconst_0
            bipush 8
            iconst_0
        29: .line 180
            iconst_2
        30: .line 177
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
            astore 7 /* symTabSection */
        start local 7 // jdk.tools.jaotc.binformat.elf.ElfSection symTabSection
        31: .line 181
            aload 7 /* symTabSection */
            aload 6 /* strTabSection */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSectionId:()I
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.setLink:(I)V
        32: .line 182
            aload 7 /* symTabSection */
            aload 5 /* symtab */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSymtab.getNumLocalSyms:()I
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.setInfo:(I)V
        33: .line 184
            aload 0 /* this */
            aload 4 /* sections */
            aload 1 /* relocationTable */
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createElfRelocTable:(Ljava/util/ArrayList;Ljava/util/Map;)Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
            astore 8 /* elfRelocTable */
        start local 8 // jdk.tools.jaotc.binformat.elf.ElfRelocTable elfRelocTable
        34: .line 186
            aload 4 /* sections */
            aload 8 /* elfRelocTable */
            aload 7 /* symTabSection */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSectionId:()I
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createElfRelocSections:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;I)V
        35: .line 189
            aload 4 /* sections */
            ldc ".shstrtab"
        36: .line 190
            aconst_null
            iconst_0
            iconst_1
            iconst_0
        37: .line 191
            iconst_3
        38: .line 189
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
            astore 9 /* shStrTabSection */
        start local 9 // jdk.tools.jaotc.binformat.elf.ElfSection shStrTabSection
        39: .line 192
            aload 3 /* eh */
            aload 9 /* shStrTabSection */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSectionId:()I
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfHeader.setSectionStrNdx:(I)V
        40: .line 197
            getstatic jdk.tools.jaotc.binformat.elf.Elf$Elf64_Ehdr.totalsize:I
            istore 10 /* file_offset */
        start local 10 // int file_offset
        41: .line 200
            iload 10 /* file_offset */
            aload 4 /* sections */
            iconst_1
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.elf.ElfSection
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataAlign:()I
            iconst_1
            isub
            iadd
        42: .line 201
            aload 4 /* sections */
            iconst_1
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.elf.ElfSection
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataAlign:()I
            iconst_1
            isub
            iconst_m1
            ixor
        43: .line 200
            iand
            istore 10 /* file_offset */
        44: .line 204
            iconst_1
            istore 11 /* i */
        start local 11 // int i
        45: goto 53
        46: .line 205
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.Map java.util.Collection jdk.tools.jaotc.binformat.elf.ElfHeader java.util.ArrayList jdk.tools.jaotc.binformat.elf.ElfSymtab jdk.tools.jaotc.binformat.elf.ElfSection jdk.tools.jaotc.binformat.elf.ElfSection jdk.tools.jaotc.binformat.elf.ElfRelocTable jdk.tools.jaotc.binformat.elf.ElfSection int int
      StackMap stack:
            aload 4 /* sections */
            iload 11 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.elf.ElfSection
            astore 12 /* sect */
        start local 12 // jdk.tools.jaotc.binformat.elf.ElfSection sect
        47: .line 206
            iload 10 /* file_offset */
            aload 12 /* sect */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataAlign:()I
            iconst_1
            isub
            iadd
        48: .line 207
            aload 12 /* sect */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataAlign:()I
            iconst_1
            isub
            iconst_m1
            ixor
        49: .line 206
            iand
            istore 10 /* file_offset */
        50: .line 208
            aload 12 /* sect */
            iload 10 /* file_offset */
            i2l
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.setOffset:(J)V
        51: .line 209
            iload 10 /* file_offset */
            i2l
            aload 12 /* sect */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSize:()J
            ladd
            l2i
            istore 10 /* file_offset */
        end local 12 // jdk.tools.jaotc.binformat.elf.ElfSection sect
        52: .line 204
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        53: iload 11 /* i */
            aload 4 /* sections */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 46
        end local 11 // int i
        54: .line 213
            iload 10 /* file_offset */
            invokestatic jdk.tools.jaotc.binformat.elf.ElfSection.getShdrAlign:()I
            iconst_1
            isub
            iadd
        55: .line 214
            invokestatic jdk.tools.jaotc.binformat.elf.ElfSection.getShdrAlign:()I
            iconst_1
            isub
            iconst_m1
            ixor
        56: .line 213
            iand
            istore 10 /* file_offset */
        57: .line 218
            aload 3 /* eh */
            iload 10 /* file_offset */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfHeader.setSectionOff:(I)V
        58: .line 219
            aload 3 /* eh */
            aload 4 /* sections */
            invokevirtual java.util.ArrayList.size:()I
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfHeader.setSectionNum:(I)V
        59: .line 222
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/binformat/elf/ElfContainer;
            aload 3 /* eh */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfHeader.getArray:()[B
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfContainer.writeBytes:([B)V
        60: .line 225
            iconst_1
            istore 11 /* i */
        start local 11 // int i
        61: goto 65
        62: .line 226
      StackMap locals:
      StackMap stack:
            aload 4 /* sections */
            iload 11 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.elf.ElfSection
            astore 12 /* sect */
        start local 12 // jdk.tools.jaotc.binformat.elf.ElfSection sect
        63: .line 227
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/binformat/elf/ElfContainer;
            aload 12 /* sect */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataArray:()[B
            aload 12 /* sect */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataAlign:()I
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfContainer.writeBytes:([BI)V
        end local 12 // jdk.tools.jaotc.binformat.elf.ElfSection sect
        64: .line 225
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        65: iload 11 /* i */
            aload 4 /* sections */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 62
        end local 11 // int i
        66: .line 231
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        67: goto 71
        68: .line 232
      StackMap locals:
      StackMap stack:
            aload 4 /* sections */
            iload 11 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.elf.ElfSection
            astore 12 /* sect */
        start local 12 // jdk.tools.jaotc.binformat.elf.ElfSection sect
        69: .line 233
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/binformat/elf/ElfContainer;
            aload 12 /* sect */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getArray:()[B
            invokestatic jdk.tools.jaotc.binformat.elf.ElfSection.getShdrAlign:()I
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfContainer.writeBytes:([BI)V
        end local 12 // jdk.tools.jaotc.binformat.elf.ElfSection sect
        70: .line 231
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        71: iload 11 /* i */
            aload 4 /* sections */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 68
        end local 11 // int i
        72: .line 236
            aload 0 /* this */
            getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/binformat/elf/ElfContainer;
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfContainer.close:()V
        73: .line 237
            return
        end local 10 // int file_offset
        end local 9 // jdk.tools.jaotc.binformat.elf.ElfSection shStrTabSection
        end local 8 // jdk.tools.jaotc.binformat.elf.ElfRelocTable elfRelocTable
        end local 7 // jdk.tools.jaotc.binformat.elf.ElfSection symTabSection
        end local 6 // jdk.tools.jaotc.binformat.elf.ElfSection strTabSection
        end local 5 // jdk.tools.jaotc.binformat.elf.ElfSymtab symtab
        end local 4 // java.util.ArrayList sections
        end local 3 // jdk.tools.jaotc.binformat.elf.ElfHeader eh
        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   74     0             this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0   74     1  relocationTable  Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
            0   74     2          symbols  Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;
            1   74     3               eh  Ljdk/tools/jaotc/binformat/elf/ElfHeader;
            2   74     4         sections  Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
           21   74     5           symtab  Ljdk/tools/jaotc/binformat/elf/ElfSymtab;
           26   74     6    strTabSection  Ljdk/tools/jaotc/binformat/elf/ElfSection;
           31   74     7    symTabSection  Ljdk/tools/jaotc/binformat/elf/ElfSection;
           34   74     8    elfRelocTable  Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
           39   74     9  shStrTabSection  Ljdk/tools/jaotc/binformat/elf/ElfSection;
           41   74    10      file_offset  I
           45   54    11                i  I
           47   52    12             sect  Ljdk/tools/jaotc/binformat/elf/ElfSection;
           61   66    11                i  I
           63   64    12             sect  Ljdk/tools/jaotc/binformat/elf/ElfSection;
           67   72    11                i  I
           69   70    12             sect  Ljdk/tools/jaotc/binformat/elf/ElfSection;
    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 static jdk.tools.jaotc.binformat.elf.ElfSymtab createELFSymbolTables(java.util.Collection<jdk.tools.jaotc.binformat.Symbol>);
    descriptor: (Ljava/util/Collection;)Ljdk/tools/jaotc/binformat/elf/ElfSymtab;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=1
        start local 0 // java.util.Collection symbols
         0: .line 246
            new jdk.tools.jaotc.binformat.elf.ElfSymtab
            dup
            invokespecial jdk.tools.jaotc.binformat.elf.ElfSymtab.<init>:()V
            astore 1 /* symtab */
        start local 1 // jdk.tools.jaotc.binformat.elf.ElfSymtab symtab
         1: .line 249
            aload 1 /* symtab */
            ldc ""
            iconst_0
            iconst_0
            iconst_0
            lconst_0
            lconst_0
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSymtab.addSymbolEntry:(Ljava/lang/String;BBBJJ)Ljdk/tools/jaotc/binformat/elf/ElfSymbol;
            pop
         2: .line 252
            aload 0 /* symbols */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: java.util.Collection jdk.tools.jaotc.binformat.elf.ElfSymtab top java.util.Iterator
      StackMap stack:
         3: 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
         4: .line 254
            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
         5: .line 255
            aload 1 /* symtab */
            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;)B
            aload 2 /* symbol */
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.getELFBindOf:(Ljdk/tools/jaotc/binformat/Symbol;)B
            iload 4 /* secHdrIndex */
            i2b
            aload 2 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getOffset:()I
            i2l
            aload 2 /* symbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.getSize:()I
            i2l
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSymtab.addSymbolEntry:(Ljava/lang/String;BBBJJ)Ljdk/tools/jaotc/binformat/elf/ElfSymbol;
            astore 5 /* elfSymbol */
        start local 5 // jdk.tools.jaotc.binformat.elf.ElfSymbol elfSymbol
         6: .line 256
            aload 2 /* symbol */
            aload 5 /* elfSymbol */
            invokevirtual jdk.tools.jaotc.binformat.Symbol.setNativeSymbol:(Ljdk/tools/jaotc/binformat/NativeSymbol;)V
        end local 5 // jdk.tools.jaotc.binformat.elf.ElfSymbol elfSymbol
        end local 4 // int secHdrIndex
        end local 2 // jdk.tools.jaotc.binformat.Symbol symbol
         7: .line 252
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 258
            aload 1 /* symtab */
            areturn
        end local 1 // jdk.tools.jaotc.binformat.elf.ElfSymtab symtab
        end local 0 // java.util.Collection symbols
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0      symbols  Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;
            1    9     1       symtab  Ljdk/tools/jaotc/binformat/elf/ElfSymtab;
            4    7     2       symbol  Ljdk/tools/jaotc/binformat/Symbol;
            5    7     4  secHdrIndex  I
            6    7     5    elfSymbol  Ljdk/tools/jaotc/binformat/elf/ElfSymbol;
    Signature: (Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;)Ljdk/tools/jaotc/binformat/elf/ElfSymtab;
    MethodParameters:
         Name  Flags
      symbols  

  private static byte getELFTypeOf(jdk.tools.jaotc.binformat.Symbol);
    descriptor: (Ljdk/tools/jaotc/binformat/Symbol;)B
    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 262
            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 263
            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 264
      StackMap locals: jdk.tools.jaotc.binformat.Symbol$Kind
      StackMap stack:
            iconst_2
            ireturn
         3: .line 265
      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 266
            iconst_1
            ireturn
         5: .line 268
      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 byte getELFBindOf(jdk.tools.jaotc.binformat.Symbol);
    descriptor: (Ljdk/tools/jaotc/binformat/Symbol;)B
    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 272
            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 273
            aload 1 /* binding */
            getstatic jdk.tools.jaotc.binformat.Symbol$Binding.GLOBAL:Ljdk/tools/jaotc/binformat/Symbol$Binding;
            if_acmpne 3
         2: .line 274
            iconst_1
            ireturn
         3: .line 276
      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 jdk.tools.jaotc.binformat.elf.ElfRelocTable createElfRelocTable(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, java.util.Map<jdk.tools.jaotc.binformat.Symbol, java.util.List<jdk.tools.jaotc.binformat.Relocation>>);
    descriptor: (Ljava/util/ArrayList;Ljava/util/Map;)Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
        start local 1 // java.util.ArrayList sections
        start local 2 // java.util.Map relocationTable
         0: .line 288
            new jdk.tools.jaotc.binformat.elf.ElfRelocTable
            dup
            aload 1 /* sections */
            invokevirtual java.util.ArrayList.size:()I
            invokespecial jdk.tools.jaotc.binformat.elf.ElfRelocTable.<init>:(I)V
            astore 3 /* elfRelocTable */
        start local 3 // jdk.tools.jaotc.binformat.elf.ElfRelocTable elfRelocTable
         1: .line 292
            aload 2 /* relocationTable */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.ArrayList java.util.Map jdk.tools.jaotc.binformat.elf.ElfRelocTable top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         3: .line 293
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            astore 6 /* relocs */
        start local 6 // java.util.List relocs
         4: .line 294
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.Symbol
            astore 7 /* symbol */
        start local 7 // jdk.tools.jaotc.binformat.Symbol symbol
         5: .line 296
            aload 6 /* relocs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 8
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.ArrayList java.util.Map jdk.tools.jaotc.binformat.elf.ElfRelocTable java.util.Map$Entry java.util.Iterator java.util.List jdk.tools.jaotc.binformat.Symbol top java.util.Iterator
      StackMap stack:
         6: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.Relocation
            astore 8 /* reloc */
        start local 8 // jdk.tools.jaotc.binformat.Relocation reloc
         7: .line 297
            aload 0 /* this */
            aload 7 /* symbol */
            aload 8 /* reloc */
            aload 3 /* elfRelocTable */
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createRelocation:(Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;)V
        end local 8 // jdk.tools.jaotc.binformat.Relocation reloc
         8: .line 296
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 7 // jdk.tools.jaotc.binformat.Symbol symbol
        end local 6 // java.util.List relocs
        end local 4 // java.util.Map$Entry entry
         9: .line 292
      StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.ArrayList java.util.Map jdk.tools.jaotc.binformat.elf.ElfRelocTable top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 301
            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 5
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
        12: .line 302
            aload 0 /* this */
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.Symbol
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.Relocation
            aload 3 /* elfRelocTable */
            invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createRelocation:(Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;)V
        end local 4 // java.util.Map$Entry entry
        13: .line 301
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 305
            aload 3 /* elfRelocTable */
            areturn
        end local 3 // jdk.tools.jaotc.binformat.elf.ElfRelocTable elfRelocTable
        end local 2 // java.util.Map relocationTable
        end local 1 // java.util.ArrayList sections
        end local 0 // jdk.tools.jaotc.binformat.elf.JELFRelocObject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
            0   15     1         sections  Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
            0   15     2  relocationTable  Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
            1   15     3    elfRelocTable  Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
            3    9     4            entry  Ljava/util/Map$Entry<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
            4    9     6           relocs  Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;
            5    9     7           symbol  Ljdk/tools/jaotc/binformat/Symbol;
            7    8     8            reloc  Ljdk/tools/jaotc/binformat/Relocation;
           12   13     4            entry  Ljava/util/Map$Entry<Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;>;
    Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;)Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
    MethodParameters:
                 Name  Flags
      sections         
      relocationTable  

  private static void createElfRelocSections(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, jdk.tools.jaotc.binformat.elf.ElfRelocTable, );
    descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // java.util.ArrayList sections
        start local 1 // jdk.tools.jaotc.binformat.elf.ElfRelocTable elfRelocTable
        start local 2 // int symtabsectidx
         0: .line 313
            aload 0 /* sections */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* count */
        start local 3 // int count
         1: .line 315
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 13
         3: .line 316
      StackMap locals: int int
      StackMap stack:
            aload 1 /* elfRelocTable */
            iload 4 /* i */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfRelocTable.getNumRelocs:(I)I
            ifle 12
         4: .line 317
            aload 0 /* sections */
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast jdk.tools.jaotc.binformat.elf.ElfSection
            astore 5 /* sect */
        start local 5 // jdk.tools.jaotc.binformat.elf.ElfSection sect
         5: .line 318
            new java.lang.StringBuilder
            dup
            ldc ".rela"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* sect */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* relname */
        start local 6 // java.lang.String relname
         6: .line 319
            aload 0 /* sections */
            aload 6 /* relname */
         7: .line 320
            aload 1 /* elfRelocTable */
            iload 4 /* i */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfRelocTable.getRelocData:(I)[B
         8: .line 321
            iconst_0
            bipush 8
            iconst_0
            iconst_4
         9: .line 319
            invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
            astore 7 /* relocSection */
        start local 7 // jdk.tools.jaotc.binformat.elf.ElfSection relocSection
        10: .line 322
            aload 7 /* relocSection */
            iload 2 /* symtabsectidx */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.setLink:(I)V
        11: .line 323
            aload 7 /* relocSection */
            aload 5 /* sect */
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSectionId:()I
            invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.setInfo:(I)V
        end local 7 // jdk.tools.jaotc.binformat.elf.ElfSection relocSection
        end local 6 // java.lang.String relname
        end local 5 // jdk.tools.jaotc.binformat.elf.ElfSection sect
        12: .line 315
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 3 /* count */
            if_icmplt 3
        end local 4 // int i
        14: .line 326
            return
        end local 3 // int count
        end local 2 // int symtabsectidx
        end local 1 // jdk.tools.jaotc.binformat.elf.ElfRelocTable elfRelocTable
        end local 0 // java.util.ArrayList sections
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0       sections  Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
            0   15     1  elfRelocTable  Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
            0   15     2  symtabsectidx  I
            1   15     3          count  I
            2   14     4              i  I
            5   12     5           sect  Ljdk/tools/jaotc/binformat/elf/ElfSection;
            6   12     6        relname  Ljava/lang/String;
           10   12     7   relocSection  Ljdk/tools/jaotc/binformat/elf/ElfSection;
    Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;I)V
    MethodParameters:
               Name  Flags
      sections       
      elfRelocTable  
      symtabsectidx  

  abstract void createRelocation(jdk.tools.jaotc.binformat.Symbol, jdk.tools.jaotc.binformat.Relocation, jdk.tools.jaotc.binformat.elf.ElfRelocTable);
    descriptor: (Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;)V
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      symbol         
      reloc          
      elfRelocTable  
}
SourceFile: "JELFRelocObject.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  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
  final Elf64_Ehdr = jdk.tools.jaotc.binformat.elf.Elf$Elf64_Ehdr of jdk.tools.jaotc.binformat.elf.Elf