public class jdk.tools.jaotc.jnilibelf.JNIELFContainer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.tools.jaotc.jnilibelf.JNIELFContainer
  super_class: java.lang.Object
{
  private java.lang.String outputFileName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.io.File outFile;
    descriptor: Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE

  private int outFileDesc;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private jdk.tools.jaotc.jnilibelf.Pointer elfPtr;
    descriptor: Ljdk/tools/jaotc/jnilibelf/Pointer;
    flags: (0x0002) ACC_PRIVATE

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

  private jdk.tools.jaotc.jnilibelf.Pointer ehdrPtr;
    descriptor: Ljdk/tools/jaotc/jnilibelf/Pointer;
    flags: (0x0002) ACC_PRIVATE

  private jdk.tools.jaotc.jnilibelf.Pointer phdrPtr;
    descriptor: Ljdk/tools/jaotc/jnilibelf/Pointer;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String shStrTabContent;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<jdk.tools.jaotc.jnilibelf.ELFSymbol> localSymbolIndex;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljdk/tools/jaotc/jnilibelf/ELFSymbol;>;

  private java.util.List<jdk.tools.jaotc.jnilibelf.ELFSymbol> globalSymbolIndex;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljdk/tools/jaotc/jnilibelf/ELFSymbol;>;

  private java.lang.StringBuilder strTabContent;
    descriptor: Ljava/lang/StringBuilder;
    flags: (0x0002) ACC_PRIVATE

  private int strTabNrOfBytes;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<jdk.tools.jaotc.jnilibelf.ELFContainer, java.util.ArrayList<jdk.tools.jaotc.jnilibelf.Pointer>> relocTables;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljdk/tools/jaotc/jnilibelf/ELFContainer;Ljava/util/ArrayList<Ljdk/tools/jaotc/jnilibelf/Pointer;>;>;

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

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
        start local 1 // java.lang.String fileName
        start local 2 // java.lang.String aotVersion
         0: .line 112
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 73
            aload 0 /* this */
            ldc ""
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.shStrTabContent:Ljava/lang/String;
         2: .line 78
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.localSymbolIndex:Ljava/util/List;
         3: .line 83
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.globalSymbolIndex:Ljava/util/List;
         4: .line 88
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.strTabContent:Ljava/lang/StringBuilder;
         5: .line 94
            aload 0 /* this */
            iconst_0
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.strTabNrOfBytes:I
         6: .line 100
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.relocTables:Ljava/util/Map;
         7: .line 114
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elfshim_version:()Ljava/lang/String;
            aload 2 /* aotVersion */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 115
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "libelfshim version mismatch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elfshim_version:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " vs "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* aotVersion */
            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
         9: .line 118
      StackMap locals: jdk.tools.jaotc.jnilibelf.JNIELFContainer java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokestatic jdk.tools.jaotc.jnilibelf.JNIELFTargetInfo.getELFClass:()I
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
        10: .line 119
            aload 0 /* this */
            invokestatic jdk.tools.jaotc.jnilibelf.JNIELFTargetInfo.createReloca:()I
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.createReloca:I
        11: .line 120
            aload 0 /* this */
            aload 1 /* fileName */
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.outputFileName:Ljava/lang/String;
        12: .line 121
            return
        end local 2 // java.lang.String aotVersion
        end local 1 // java.lang.String fileName
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            0   13     1    fileName  Ljava/lang/String;
            0   13     2  aotVersion  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      fileName    
      aotVersion  

  public java.util.List<jdk.tools.jaotc.jnilibelf.ELFSymbol> getLocalSymbols();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
         0: .line 129
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.localSymbolIndex:Ljava/util/List;
            areturn
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
    Signature: ()Ljava/util/List<Ljdk/tools/jaotc/jnilibelf/ELFSymbol;>;

  public java.util.List<jdk.tools.jaotc.jnilibelf.ELFSymbol> getGlobalSymbols();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
         0: .line 138
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.globalSymbolIndex:Ljava/util/List;
            areturn
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
    Signature: ()Ljava/util/List<Ljdk/tools/jaotc/jnilibelf/ELFSymbol;>;

  public java.lang.String getStrTabContent();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
         0: .line 147
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.strTabContent:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;

  public java.lang.String getShStrTabContent();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
         0: .line 156
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.shStrTabContent:Ljava/lang/String;
            areturn
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;

  public java.util.Map<jdk.tools.jaotc.jnilibelf.ELFContainer, java.util.ArrayList<jdk.tools.jaotc.jnilibelf.Pointer>> getRelocTables();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
         0: .line 165
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.relocTables:Ljava/util/Map;
            areturn
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
    Signature: ()Ljava/util/Map<Ljdk/tools/jaotc/jnilibelf/ELFContainer;Ljava/util/ArrayList<Ljdk/tools/jaotc/jnilibelf/Pointer;>;>;

  public int getFirstNonLocalSymbolIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
         0: .line 174
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.localSymbolIndex:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;

  public void createELFHeader(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
        start local 1 // int type
         0: .line 184
            iconst_1
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elf_version:(I)I
            ifne 2
         1: .line 185
            new java.lang.InternalError
            dup
            ldc "ELF version mismatch"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.outputFileName:Ljava/lang/String;
            invokestatic jdk.tools.jaotc.jnilibelf.JNIELFContainer.constructRelocFile:(Ljava/lang/String;)Ljava/io/File;
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.outFile:Ljava/io/File;
         3: .line 191
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.outFile:Ljava/io/File;
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.open_rw:(Ljava/lang/String;)I
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.outFileDesc:I
         4: .line 193
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.outFileDesc:I
            iconst_m1
            if_icmpne 6
         5: .line 194
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Failed to open file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.outFile:Ljava/io/File;
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to write relocatable object."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.outFileDesc:I
            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.JNILibELFAPI$LibELF$Elf_Cmd.intValue:()I
            new jdk.tools.jaotc.jnilibelf.Pointer
            dup
            lconst_0
            invokespecial jdk.tools.jaotc.jnilibelf.Pointer.<init>:(J)V
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elf_begin:(IILjdk/tools/jaotc/jnilibelf/Pointer;)Ljdk/tools/jaotc/jnilibelf/Pointer;
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
         7: .line 198
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            ifnonnull 9
         8: .line 199
            new java.lang.InternalError
            dup
            ldc "elf_begin failed"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.gelf_newehdr:(Ljdk/tools/jaotc/jnilibelf/Pointer;I)Ljdk/tools/jaotc/jnilibelf/Pointer;
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.ehdrPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
        10: .line 206
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.ehdrPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            invokestatic jdk.tools.jaotc.jnilibelf.JNIELFTargetInfo.getELFEndian:()I
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.ehdr_set_data_encoding:(Ljdk/tools/jaotc/jnilibelf/Pointer;I)V
        11: .line 207
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.ehdrPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            invokestatic jdk.tools.jaotc.jnilibelf.JNIELFTargetInfo.getELFArch:()I
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Ehdr_e_machine:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        12: .line 208
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.ehdrPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            iload 1 /* type */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Ehdr_e_type:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        13: .line 209
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.ehdrPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            iconst_1
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Ehdr_e_version:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        14: .line 210
            return
        end local 1 // int type
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            0   15     1  type  I
    MethodParameters:
      Name  Flags
      type  

  private static java.io.File constructRelocFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 220
            new java.io.File
            dup
            aload 0 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* relocFile */
        start local 1 // java.io.File relocFile
         1: .line 221
            aload 1 /* relocFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 4
         2: .line 222
            aload 1 /* relocFile */
            invokevirtual java.io.File.delete:()Z
            ifne 4
         3: .line 223
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to delete existing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " file"
            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
         4: .line 226
      StackMap locals: java.io.File
      StackMap stack:
            aload 1 /* relocFile */
            areturn
        end local 1 // java.io.File relocFile
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   fileName  Ljava/lang/String;
            1    5     1  relocFile  Ljava/io/File;
    MethodParameters:
          Name  Flags
      fileName  

  public boolean createProgramHeader(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
        start local 1 // int count
         0: .line 236
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            iload 1 /* count */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.gelf_newphdr:(Ljdk/tools/jaotc/jnilibelf/Pointer;I)Ljdk/tools/jaotc/jnilibelf/Pointer;
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.phdrPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
         1: .line 237
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.phdrPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            ifnonnull 4
         2: .line 238
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "gelf_newphdr error"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 239
            iconst_0
            ireturn
         4: .line 241
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int count
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            0    5     1  count  I
    MethodParameters:
       Name  Flags
      count  

  public boolean setProgHdrTypeToSelf();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
         0: .line 251
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.ehdrPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.phdrPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.phdr_set_type_self:(ILjdk/tools/jaotc/jnilibelf/Pointer;Ljdk/tools/jaotc/jnilibelf/Pointer;)V
         1: .line 253
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            getstatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Cmd.ELF_C_SET:Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Cmd;
            invokevirtual jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Cmd.intValue:()I
            iconst_1
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elf_flagphdr:(Ljdk/tools/jaotc/jnilibelf/Pointer;II)I
            pop
         2: .line 256
            iconst_1
            ireturn
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;

  public int createSection(java.lang.String, byte[], jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type, int, int, int, int, int);
    descriptor: (Ljava/lang/String;[BLjdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;IIIII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=17, args_size=9
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
        start local 1 // java.lang.String secName
        start local 2 // byte[] scnData
        start local 3 // jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type dataType
        start local 4 // int align
        start local 5 // int scnType
        start local 6 // int scnFlags
        start local 7 // int scnLink
        start local 8 // int scnInfo
         0: .line 275
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elf_newscn:(Ljdk/tools/jaotc/jnilibelf/Pointer;)Ljdk/tools/jaotc/jnilibelf/Pointer;
            astore 9 /* scnPtr */
        start local 9 // jdk.tools.jaotc.jnilibelf.Pointer scnPtr
         1: .line 276
            aload 9 /* scnPtr */
            ifnonnull 3
         2: .line 277
            new java.lang.InternalError
            dup
            ldc "elf_newscn error"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 281
      StackMap locals: jdk.tools.jaotc.jnilibelf.Pointer
      StackMap stack:
            aload 9 /* scnPtr */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elf_newdata:(Ljdk/tools/jaotc/jnilibelf/Pointer;)Ljdk/tools/jaotc/jnilibelf/Pointer;
            astore 10 /* scnDataPtr */
        start local 10 // jdk.tools.jaotc.jnilibelf.Pointer scnDataPtr
         4: .line 282
            aload 10 /* scnDataPtr */
            ifnonnull 7
         5: .line 283
            iconst_m1
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elf_errmsg:(I)Ljava/lang/String;
            astore 11 /* errMsg */
        start local 11 // java.lang.String errMsg
         6: .line 284
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "elf_newdata error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* errMsg */
            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 11 // java.lang.String errMsg
         7: .line 288
      StackMap locals: jdk.tools.jaotc.jnilibelf.Pointer
      StackMap stack:
            aload 9 /* scnPtr */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elf64_getshdr:(Ljdk/tools/jaotc/jnilibelf/Pointer;)Ljdk/tools/jaotc/jnilibelf/Pointer;
            astore 11 /* scnHdrPtr */
        start local 11 // jdk.tools.jaotc.jnilibelf.Pointer scnHdrPtr
         8: .line 294
            aload 1 /* secName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 12
         9: .line 295
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 11 /* scnHdrPtr */
            iconst_0
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Shdr_sh_name:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        10: .line 296
            aload 2 /* scnData */
            astore 12 /* modScnData */
        start local 12 // byte[] modScnData
        11: .line 297
            goto 36
        end local 12 // byte[] modScnData
        12: .line 298
      StackMap locals: jdk.tools.jaotc.jnilibelf.Pointer
      StackMap stack:
            aload 1 /* secName */
            ldc ".shstrtab"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        13: .line 300
            ldc ".shstrtab\u0000"
            astore 13 /* shstrtabSecName */
        start local 13 // java.lang.String shstrtabSecName
        14: .line 302
            aload 2 /* scnData */
            arraylength
            iconst_1
            iadd
            aload 13 /* shstrtabSecName */
            invokevirtual java.lang.String.length:()I
            iadd
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 14 /* nbuf */
        start local 14 // java.nio.ByteBuffer nbuf
        15: .line 303
            aload 14 /* nbuf */
            iconst_0
            iconst_0
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        16: .line 304
            aload 14 /* nbuf */
            iconst_1
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        17: .line 305
            aload 14 /* nbuf */
            aload 2 /* scnData */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
        18: .line 306
            aload 14 /* nbuf */
            aload 2 /* scnData */
            arraylength
            iconst_1
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        19: .line 308
            aload 14 /* nbuf */
            aload 13 /* shstrtabSecName */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
        20: .line 309
            aload 14 /* nbuf */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 12 /* modScnData */
        start local 12 // byte[] modScnData
        21: .line 310
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 11 /* scnHdrPtr */
            aload 2 /* scnData */
            arraylength
            iconst_1
            iadd
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Shdr_sh_name:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        22: .line 312
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.ehdrPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            aload 9 /* scnPtr */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elf_ndxscn:(Ljdk/tools/jaotc/jnilibelf/Pointer;)I
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Ehdr_e_shstrndx:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        end local 14 // java.nio.ByteBuffer nbuf
        end local 13 // java.lang.String shstrtabSecName
        23: .line 313
            goto 36
        end local 12 // byte[] modScnData
      StackMap locals:
      StackMap stack:
        24: aload 1 /* secName */
            ldc ".strtab"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        25: .line 316
            aload 2 /* scnData */
            arraylength
            iconst_1
            iadd
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 13 /* nbuf */
        start local 13 // java.nio.ByteBuffer nbuf
        26: .line 317
            aload 13 /* nbuf */
            iconst_0
            iconst_0
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        27: .line 318
            aload 13 /* nbuf */
            iconst_1
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        28: .line 319
            aload 13 /* nbuf */
            aload 2 /* scnData */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
        29: .line 320
            aload 13 /* nbuf */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 12 /* modScnData */
        start local 12 // byte[] modScnData
        30: .line 322
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 11 /* scnHdrPtr */
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.shStrTabContent:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Shdr_sh_name:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        31: .line 324
            aload 0 /* this */
            dup
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.shStrTabContent:Ljava/lang/String;
            new java.lang.StringBuilder
            dup_x1
            swap
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* secName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iconst_0
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.shStrTabContent:Ljava/lang/String;
        end local 13 // java.nio.ByteBuffer nbuf
        32: .line 325
            goto 36
        end local 12 // byte[] modScnData
        33: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 11 /* scnHdrPtr */
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.shStrTabContent:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Shdr_sh_name:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        34: .line 329
            aload 0 /* this */
            dup
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.shStrTabContent:Ljava/lang/String;
            new java.lang.StringBuilder
            dup_x1
            swap
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* secName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iconst_0
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.shStrTabContent:Ljava/lang/String;
        35: .line 330
            aload 2 /* scnData */
            astore 12 /* modScnData */
        start local 12 // byte[] modScnData
        36: .line 334
      StackMap locals: byte[]
      StackMap stack:
            aload 12 /* modScnData */
            arraylength
            istore 13 /* scnDataBufSize */
        start local 13 // int scnDataBufSize
        37: .line 336
            aconst_null
            astore 14 /* scnDataBufPtr */
        start local 14 // jdk.tools.jaotc.jnilibelf.Pointer scnDataBufPtr
        38: .line 337
            iload 5 /* scnType */
            bipush 8
            if_icmpeq 43
        39: .line 339
            getstatic jdk.tools.jaotc.jnilibelf.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            iload 13 /* scnDataBufSize */
            iconst_1
            iadd
            i2l
            invokevirtual jdk.internal.misc.Unsafe.allocateMemory:(J)J
            lstore 15 /* address */
        start local 15 // long address
        40: .line 340
            new jdk.tools.jaotc.jnilibelf.Pointer
            dup
            lload 15 /* address */
            invokespecial jdk.tools.jaotc.jnilibelf.Pointer.<init>:(J)V
            astore 14 /* scnDataBufPtr */
        41: .line 341
            aload 14 /* scnDataBufPtr */
            aload 12 /* modScnData */
            invokevirtual jdk.tools.jaotc.jnilibelf.Pointer.put:([B)V
        end local 15 // long address
        42: .line 342
            goto 44
        43: .line 343
      StackMap locals: int jdk.tools.jaotc.jnilibelf.Pointer
      StackMap stack:
            new jdk.tools.jaotc.jnilibelf.Pointer
            dup
            lconst_0
            invokespecial jdk.tools.jaotc.jnilibelf.Pointer.<init>:(J)V
            astore 14 /* scnDataBufPtr */
        44: .line 347
      StackMap locals:
      StackMap stack:
            aload 10 /* scnDataPtr */
            iload 4 /* align */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Data_d_align:(Ljdk/tools/jaotc/jnilibelf/Pointer;I)V
        45: .line 348
            aload 10 /* scnDataPtr */
            aload 14 /* scnDataBufPtr */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Data_d_buf:(Ljdk/tools/jaotc/jnilibelf/Pointer;Ljdk/tools/jaotc/jnilibelf/Pointer;)V
        46: .line 349
            aload 10 /* scnDataPtr */
            iload 13 /* scnDataBufSize */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Data_d_size:(Ljdk/tools/jaotc/jnilibelf/Pointer;I)V
        47: .line 350
            aload 10 /* scnDataPtr */
            iconst_0
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Data_d_off:(Ljdk/tools/jaotc/jnilibelf/Pointer;I)V
        48: .line 351
            aload 10 /* scnDataPtr */
            aload 3 /* dataType */
            invokevirtual jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type.intValue:()I
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Data_d_type:(Ljdk/tools/jaotc/jnilibelf/Pointer;I)V
        49: .line 352
            aload 10 /* scnDataPtr */
            iconst_1
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Data_d_version:(Ljdk/tools/jaotc/jnilibelf/Pointer;I)V
        50: .line 354
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 11 /* scnHdrPtr */
            iload 5 /* scnType */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Shdr_sh_type:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        51: .line 355
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 11 /* scnHdrPtr */
            iload 6 /* scnFlags */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Shdr_sh_flags:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        52: .line 356
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 11 /* scnHdrPtr */
            iconst_0
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Shdr_sh_entsize:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        53: .line 357
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 11 /* scnHdrPtr */
            iload 7 /* scnLink */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Shdr_sh_link:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        54: .line 358
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            aload 11 /* scnHdrPtr */
            iload 8 /* scnInfo */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.set_Shdr_sh_info:(ILjdk/tools/jaotc/jnilibelf/Pointer;I)V
        55: .line 361
            aload 9 /* scnPtr */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elf_ndxscn:(Ljdk/tools/jaotc/jnilibelf/Pointer;)I
            istore 15 /* index */
        start local 15 // int index
        56: .line 362
            iload 15 /* index */
            ireturn
        end local 15 // int index
        end local 14 // jdk.tools.jaotc.jnilibelf.Pointer scnDataBufPtr
        end local 13 // int scnDataBufSize
        end local 12 // byte[] modScnData
        end local 11 // jdk.tools.jaotc.jnilibelf.Pointer scnHdrPtr
        end local 10 // jdk.tools.jaotc.jnilibelf.Pointer scnDataPtr
        end local 9 // jdk.tools.jaotc.jnilibelf.Pointer scnPtr
        end local 8 // int scnInfo
        end local 7 // int scnLink
        end local 6 // int scnFlags
        end local 5 // int scnType
        end local 4 // int align
        end local 3 // jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Type dataType
        end local 2 // byte[] scnData
        end local 1 // java.lang.String secName
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   57     0             this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            0   57     1          secName  Ljava/lang/String;
            0   57     2          scnData  [B
            0   57     3         dataType  Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Type;
            0   57     4            align  I
            0   57     5          scnType  I
            0   57     6         scnFlags  I
            0   57     7          scnLink  I
            0   57     8          scnInfo  I
            1   57     9           scnPtr  Ljdk/tools/jaotc/jnilibelf/Pointer;
            4   57    10       scnDataPtr  Ljdk/tools/jaotc/jnilibelf/Pointer;
            6    7    11           errMsg  Ljava/lang/String;
            8   57    11        scnHdrPtr  Ljdk/tools/jaotc/jnilibelf/Pointer;
           11   12    12       modScnData  [B
           21   24    12       modScnData  [B
           30   33    12       modScnData  [B
           36   57    12       modScnData  [B
           14   23    13  shstrtabSecName  Ljava/lang/String;
           15   23    14             nbuf  Ljava/nio/ByteBuffer;
           26   32    13             nbuf  Ljava/nio/ByteBuffer;
           37   57    13   scnDataBufSize  I
           38   57    14    scnDataBufPtr  Ljdk/tools/jaotc/jnilibelf/Pointer;
           40   42    15          address  J
           56   57    15            index  I
    MethodParameters:
          Name  Flags
      secName   
      scnData   
      dataType  
      align     
      scnType   
      scnFlags  
      scnLink   
      scnInfo   

  public jdk.tools.jaotc.jnilibelf.ELFSymbol createELFSymbolEntry(java.lang.String, int, int, int, int, int, boolean);
    descriptor: (Ljava/lang/String;IIIIIZ)Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=14, args_size=8
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
        start local 1 // java.lang.String name
        start local 2 // int type
        start local 3 // int bind
        start local 4 // int secHdrIndex
        start local 5 // int size
        start local 6 // int value
        start local 7 // boolean isLocal
         0: .line 380
            aload 1 /* name */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         1: .line 381
            iconst_0
            istore 8 /* index */
        start local 8 // int index
         2: .line 382
            goto 6
        end local 8 // int index
         3: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.strTabNrOfBytes:I
            iconst_1
            iadd
            istore 8 /* index */
        start local 8 // int index
         4: .line 387
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.strTabContent:Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iconst_0
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 388
            aload 0 /* this */
            dup
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.strTabNrOfBytes:I
            aload 1 /* name */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            arraylength
            iconst_1
            iadd
            iadd
            putfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.strTabNrOfBytes:I
         6: .line 392
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            iload 8 /* index */
            iload 2 /* type */
            iload 3 /* bind */
            iload 4 /* secHdrIndex */
            iload 5 /* size */
            iload 6 /* value */
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.create_sym_entry:(IIIIIII)J
            lstore 9 /* address */
        start local 9 // long address
         7: .line 393
            lload 9 /* address */
            lconst_0
            lcmp
            ifne 9
         8: .line 394
            new java.lang.InternalError
            dup
            ldc "create_sym_entry failed"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 396
      StackMap locals: long
      StackMap stack:
            new jdk.tools.jaotc.jnilibelf.Pointer
            dup
            lload 9 /* address */
            invokespecial jdk.tools.jaotc.jnilibelf.Pointer.<init>:(J)V
            astore 11 /* ptr */
        start local 11 // jdk.tools.jaotc.jnilibelf.Pointer ptr
        10: .line 398
            iload 7 /* isLocal */
            ifeq 15
        11: .line 399
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.localSymbolIndex:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 12 /* localIndex */
        start local 12 // int localIndex
        12: .line 400
            new jdk.tools.jaotc.jnilibelf.ELFSymbol
            dup
            aload 1 /* name */
            iload 12 /* localIndex */
            aload 11 /* ptr */
            iload 7 /* isLocal */
            invokespecial jdk.tools.jaotc.jnilibelf.ELFSymbol.<init>:(Ljava/lang/String;ILjdk/tools/jaotc/jnilibelf/Pointer;Z)V
            astore 13 /* symbol */
        start local 13 // jdk.tools.jaotc.jnilibelf.ELFSymbol symbol
        13: .line 401
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.localSymbolIndex:Ljava/util/List;
            aload 13 /* symbol */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 402
            aload 13 /* symbol */
            areturn
        end local 13 // jdk.tools.jaotc.jnilibelf.ELFSymbol symbol
        end local 12 // int localIndex
        15: .line 404
      StackMap locals: jdk.tools.jaotc.jnilibelf.Pointer
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.globalSymbolIndex:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 12 /* globalIndex */
        start local 12 // int globalIndex
        16: .line 405
            new jdk.tools.jaotc.jnilibelf.ELFSymbol
            dup
            aload 1 /* name */
            iload 12 /* globalIndex */
            aload 11 /* ptr */
            iload 7 /* isLocal */
            invokespecial jdk.tools.jaotc.jnilibelf.ELFSymbol.<init>:(Ljava/lang/String;ILjdk/tools/jaotc/jnilibelf/Pointer;Z)V
            astore 13 /* symbol */
        start local 13 // jdk.tools.jaotc.jnilibelf.ELFSymbol symbol
        17: .line 406
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.globalSymbolIndex:Ljava/util/List;
            aload 13 /* symbol */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 407
            aload 13 /* symbol */
            areturn
        end local 13 // jdk.tools.jaotc.jnilibelf.ELFSymbol symbol
        end local 12 // int globalIndex
        end local 11 // jdk.tools.jaotc.jnilibelf.Pointer ptr
        end local 9 // long address
        end local 8 // int index
        end local 7 // boolean isLocal
        end local 6 // int value
        end local 5 // int size
        end local 4 // int secHdrIndex
        end local 3 // int bind
        end local 2 // int type
        end local 1 // java.lang.String name
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            0   19     1         name  Ljava/lang/String;
            0   19     2         type  I
            0   19     3         bind  I
            0   19     4  secHdrIndex  I
            0   19     5         size  I
            0   19     6        value  I
            0   19     7      isLocal  Z
            2    3     8        index  I
            4   19     8        index  I
            7   19     9      address  J
           10   19    11          ptr  Ljdk/tools/jaotc/jnilibelf/Pointer;
           12   15    12   localIndex  I
           13   15    13       symbol  Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
           16   19    12  globalIndex  I
           17   19    13       symbol  Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
    MethodParameters:
             Name  Flags
      name         
      type         
      bind         
      secHdrIndex  
      size         
      value        
      isLocal      

  public void createELFRelocationEntry(jdk.tools.jaotc.jnilibelf.ELFContainer, int, int, int, jdk.tools.jaotc.jnilibelf.ELFSymbol);
    descriptor: (Ljdk/tools/jaotc/jnilibelf/ELFContainer;IIILjdk/tools/jaotc/jnilibelf/ELFSymbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=6
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
        start local 1 // jdk.tools.jaotc.jnilibelf.ELFContainer container
        start local 2 // int offset
        start local 3 // int type
        start local 4 // int addend
        start local 5 // jdk.tools.jaotc.jnilibelf.ELFSymbol elfSymbol
         0: .line 422
            aload 5 /* elfSymbol */
            invokevirtual jdk.tools.jaotc.jnilibelf.ELFSymbol.isLocal:()Z
            ifeq 3
         1: .line 423
            aload 5 /* elfSymbol */
            invokevirtual jdk.tools.jaotc.jnilibelf.ELFSymbol.getIndex:()I
            istore 6 /* index */
        start local 6 // int index
         2: .line 424
            goto 4
        end local 6 // int index
         3: .line 429
      StackMap locals:
      StackMap stack:
            aload 5 /* elfSymbol */
            invokevirtual jdk.tools.jaotc.jnilibelf.ELFSymbol.getIndex:()I
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.localSymbolIndex:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iadd
            istore 6 /* index */
        start local 6 // int index
         4: .line 432
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfClass:I
            iload 2 /* offset */
            iload 6 /* index */
            iload 3 /* type */
            iload 4 /* addend */
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.createReloca:I
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.create_reloc_entry:(IIIIII)J
            lstore 7 /* address */
        start local 7 // long address
         5: .line 433
            lload 7 /* address */
            lconst_0
            lcmp
            ifne 7
         6: .line 434
            new java.lang.InternalError
            dup
            ldc "create_reloc_entry failed"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 436
      StackMap locals: long
      StackMap stack:
            new jdk.tools.jaotc.jnilibelf.Pointer
            dup
            lload 7 /* address */
            invokespecial jdk.tools.jaotc.jnilibelf.Pointer.<init>:(J)V
            astore 9 /* ptr */
        start local 9 // jdk.tools.jaotc.jnilibelf.Pointer ptr
         8: .line 441
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.relocTables:Ljava/util/Map;
            aload 1 /* container */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 10
         9: .line 443
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.relocTables:Ljava/util/Map;
            aload 1 /* container */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 447
      StackMap locals: jdk.tools.jaotc.jnilibelf.Pointer
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.relocTables:Ljava/util/Map;
            aload 1 /* container */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            aload 9 /* ptr */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        11: .line 448
            return
        end local 9 // jdk.tools.jaotc.jnilibelf.Pointer ptr
        end local 7 // long address
        end local 6 // int index
        end local 5 // jdk.tools.jaotc.jnilibelf.ELFSymbol elfSymbol
        end local 4 // int addend
        end local 3 // int type
        end local 2 // int offset
        end local 1 // jdk.tools.jaotc.jnilibelf.ELFContainer container
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            0   12     1  container  Ljdk/tools/jaotc/jnilibelf/ELFContainer;
            0   12     2     offset  I
            0   12     3       type  I
            0   12     4     addend  I
            0   12     5  elfSymbol  Ljdk/tools/jaotc/jnilibelf/ELFSymbol;
            2    3     6      index  I
            4   12     6      index  I
            5   12     7    address  J
            8   12     9        ptr  Ljdk/tools/jaotc/jnilibelf/Pointer;
    MethodParameters:
           Name  Flags
      container  
      offset     
      type       
      addend     
      elfSymbol  

  public boolean elfUpdate(jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Cmd);
    descriptor: (Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Cmd;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
        start local 1 // jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Cmd cmd
         0: .line 457
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            aload 1 /* cmd */
            invokevirtual jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Cmd.intValue:()I
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elf_update:(Ljdk/tools/jaotc/jnilibelf/Pointer;I)J
            pop2
         1: .line 460
            iconst_1
            ireturn
        end local 1 // jdk.tools.jaotc.jnilibelf.JNILibELFAPI$LibELF$Elf_Cmd cmd
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
            0    2     1   cmd  Ljdk/tools/jaotc/jnilibelf/JNILibELFAPI$LibELF$Elf_Cmd;
    MethodParameters:
      Name  Flags
      cmd   

  public boolean elfEnd();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
         0: .line 471
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.elfPtr:Ljdk/tools/jaotc/jnilibelf/Pointer;
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.elf_end:(Ljdk/tools/jaotc/jnilibelf/Pointer;)I
            pop
         1: .line 473
            aload 0 /* this */
            getfield jdk.tools.jaotc.jnilibelf.JNIELFContainer.outFileDesc:I
            invokestatic jdk.tools.jaotc.jnilibelf.JNILibELFAPI.close:(I)I
            pop
         2: .line 474
            iconst_1
            ireturn
        end local 0 // jdk.tools.jaotc.jnilibelf.JNIELFContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/tools/jaotc/jnilibelf/JNIELFContainer;
}
SourceFile: "JNIELFContainer.java"
InnerClasses:
  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