public class com.oracle.objectfile.pecoff.PECoffObjectFile extends com.oracle.objectfile.ObjectFile
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.objectfile.pecoff.PECoffObjectFile
  super_class: com.oracle.objectfile.ObjectFile
{
  private static java.nio.ByteOrder byteOrder;
    descriptor: Ljava/nio/ByteOrder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private com.oracle.objectfile.pecoff.PECoffMachine machine;
    descriptor: Lcom/oracle/objectfile/pecoff/PECoffMachine;
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffHeader header;
    descriptor: Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffHeader;
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.objectfile.pecoff.PECoffObjectFile$SectionHeaderTable sht;
    descriptor: Lcom/oracle/objectfile/pecoff/PECoffObjectFile$SectionHeaderTable;
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.objectfile.pecoff.PECoffSymtab symtab;
    descriptor: Lcom/oracle/objectfile/pecoff/PECoffSymtab;
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffDirectiveSection directives;
    descriptor: Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffDirectiveSection;
    flags: (0x0002) ACC_PRIVATE

  private boolean runtimeDebugInfoGeneration;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 65
            ldc Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.objectfile.pecoff.PECoffObjectFile.$assertionsDisabled:Z
         3: .line 67
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(int, boolean);
    descriptor: (IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // int pageSize
        start local 2 // boolean runtimeDebugInfoGeneration
         0: .line 76
            aload 0 /* this */
            iload 1 /* pageSize */
            invokespecial com.oracle.objectfile.ObjectFile.<init>:(I)V
         1: .line 68
            aload 0 /* this */
            invokestatic com.oracle.objectfile.pecoff.PECoffMachine.getSystemNativeValue:()Lcom/oracle/objectfile/pecoff/PECoffMachine;
            putfield com.oracle.objectfile.pecoff.PECoffObjectFile.machine:Lcom/oracle/objectfile/pecoff/PECoffMachine;
         2: .line 77
            aload 0 /* this */
            iload 2 /* runtimeDebugInfoGeneration */
            putfield com.oracle.objectfile.pecoff.PECoffObjectFile.runtimeDebugInfoGeneration:Z
         3: .line 80
            aload 0 /* this */
            new com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffHeader
            dup
            aload 0 /* this */
            ldc "PECoffHeader"
            invokespecial com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffHeader.<init>:(Lcom/oracle/objectfile/pecoff/PECoffObjectFile;Ljava/lang/String;)V
            putfield com.oracle.objectfile.pecoff.PECoffObjectFile.header:Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffHeader;
         4: .line 82
            aload 0 /* this */
            new com.oracle.objectfile.pecoff.PECoffObjectFile$SectionHeaderTable
            dup
            aload 0 /* this */
            invokespecial com.oracle.objectfile.pecoff.PECoffObjectFile$SectionHeaderTable.<init>:(Lcom/oracle/objectfile/pecoff/PECoffObjectFile;)V
            putfield com.oracle.objectfile.pecoff.PECoffObjectFile.sht:Lcom/oracle/objectfile/pecoff/PECoffObjectFile$SectionHeaderTable;
         5: .line 84
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.createSymbolTable:()Lcom/oracle/objectfile/pecoff/PECoffSymtab;
            putfield com.oracle.objectfile.pecoff.PECoffObjectFile.symtab:Lcom/oracle/objectfile/pecoff/PECoffSymtab;
         6: .line 86
            aload 0 /* this */
            new com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffDirectiveSection
            dup
            aload 0 /* this */
            ldc ".drectve"
            iconst_1
            invokespecial com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffDirectiveSection.<init>:(Lcom/oracle/objectfile/pecoff/PECoffObjectFile;Ljava/lang/String;I)V
            putfield com.oracle.objectfile.pecoff.PECoffObjectFile.directives:Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffDirectiveSection;
         7: .line 87
            return
        end local 2 // boolean runtimeDebugInfoGeneration
        end local 1 // int pageSize
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    8     0                        this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    8     1                    pageSize  I
            0    8     2  runtimeDebugInfoGeneration  Z
    MethodParameters:
                            Name  Flags
      pageSize                    
      runtimeDebugInfoGeneration  

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // int pageSize
         0: .line 90
            aload 0 /* this */
            iload 1 /* pageSize */
            iconst_0
            invokespecial com.oracle.objectfile.pecoff.PECoffObjectFile.<init>:(IZ)V
         1: .line 91
            return
        end local 1 // int pageSize
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    2     1  pageSize  I
    MethodParameters:
          Name  Flags
      pageSize  

  public com.oracle.objectfile.ObjectFile$Format getFormat();
    descriptor: ()Lcom/oracle/objectfile/ObjectFile$Format;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
         0: .line 95
            getstatic com.oracle.objectfile.ObjectFile$Format.PECOFF:Lcom/oracle/objectfile/ObjectFile$Format;
            areturn
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;

  protected com.oracle.objectfile.pecoff.PECoffSymtab createSymbolTable();
    descriptor: ()Lcom/oracle/objectfile/pecoff/PECoffSymtab;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
         0: .line 100
            ldc ".symtab"
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 101
            aload 0 /* this */
            ldc ".symtab"
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.elementForName:(Ljava/lang/String;)Lcom/oracle/objectfile/ObjectFile$Element;
            checkcast com.oracle.objectfile.pecoff.PECoffSymtab
            astore 2 /* st */
        start local 2 // com.oracle.objectfile.pecoff.PECoffSymtab st
         2: .line 102
            aload 2 /* st */
            ifnonnull 4
         3: .line 103
            new com.oracle.objectfile.pecoff.PECoffSymtab
            dup
            aload 0 /* this */
            aload 1 /* name */
            invokespecial com.oracle.objectfile.pecoff.PECoffSymtab.<init>:(Lcom/oracle/objectfile/pecoff/PECoffObjectFile;Ljava/lang/String;)V
            astore 2 /* st */
         4: .line 105
      StackMap locals: java.lang.String com.oracle.objectfile.pecoff.PECoffSymtab
      StackMap stack:
            aload 2 /* st */
            areturn
        end local 2 // com.oracle.objectfile.pecoff.PECoffSymtab st
        end local 1 // java.lang.String name
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            1    5     1  name  Ljava/lang/String;
            2    5     2    st  Lcom/oracle/objectfile/pecoff/PECoffSymtab;

  public com.oracle.objectfile.ObjectFile$Symbol createDefinedSymbol(java.lang.String, com.oracle.objectfile.ObjectFile$Element, long, int, boolean, boolean);
    descriptor: (Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;JIZZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=7
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // java.lang.String name
        start local 2 // com.oracle.objectfile.ObjectFile$Element baseSection
        start local 3 // long position
        start local 5 // int size
        start local 6 // boolean isCode
        start local 7 // boolean isGlobal
         0: .line 110
            aload 0 /* this */
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.createSymbolTable:()Lcom/oracle/objectfile/pecoff/PECoffSymtab;
            astore 8 /* st */
        start local 8 // com.oracle.objectfile.pecoff.PECoffSymtab st
         1: .line 111
            aload 8 /* st */
            aload 1 /* name */
            aload 2 /* baseSection */
            checkcast com.oracle.objectfile.ObjectFile$Section
            lload 3 /* position */
            iload 5 /* size */
            i2l
            iload 7 /* isGlobal */
            iload 6 /* isCode */
            invokevirtual com.oracle.objectfile.pecoff.PECoffSymtab.newDefinedEntry:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Section;JJZZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
            areturn
        end local 8 // com.oracle.objectfile.pecoff.PECoffSymtab st
        end local 7 // boolean isGlobal
        end local 6 // boolean isCode
        end local 5 // int size
        end local 3 // long position
        end local 2 // com.oracle.objectfile.ObjectFile$Element baseSection
        end local 1 // java.lang.String name
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    2     1         name  Ljava/lang/String;
            0    2     2  baseSection  Lcom/oracle/objectfile/ObjectFile$Element;
            0    2     3     position  J
            0    2     5         size  I
            0    2     6       isCode  Z
            0    2     7     isGlobal  Z
            1    2     8           st  Lcom/oracle/objectfile/pecoff/PECoffSymtab;
    MethodParameters:
             Name  Flags
      name         
      baseSection  
      position     
      size         
      isCode       
      isGlobal     

  public com.oracle.objectfile.ObjectFile$Symbol createUndefinedSymbol(java.lang.String, int, boolean);
    descriptor: (Ljava/lang/String;IZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // java.lang.String name
        start local 2 // int size
        start local 3 // boolean isCode
         0: .line 116
            aload 0 /* this */
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.createSymbolTable:()Lcom/oracle/objectfile/pecoff/PECoffSymtab;
            astore 4 /* st */
        start local 4 // com.oracle.objectfile.pecoff.PECoffSymtab st
         1: .line 117
            aload 4 /* st */
            aload 1 /* name */
            iload 3 /* isCode */
            invokevirtual com.oracle.objectfile.pecoff.PECoffSymtab.newUndefinedEntry:(Ljava/lang/String;Z)Lcom/oracle/objectfile/ObjectFile$Symbol;
            areturn
        end local 4 // com.oracle.objectfile.pecoff.PECoffSymtab st
        end local 3 // boolean isCode
        end local 2 // int size
        end local 1 // java.lang.String name
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    2     1    name  Ljava/lang/String;
            0    2     2    size  I
            0    2     3  isCode  Z
            1    2     4      st  Lcom/oracle/objectfile/pecoff/PECoffSymtab;
    MethodParameters:
        Name  Flags
      name    
      size    
      isCode  

  protected com.oracle.objectfile.ObjectFile$Segment getOrCreateSegment(java.lang.String, java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZZ)Lcom/oracle/objectfile/ObjectFile$Segment;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // java.lang.String maybeSegmentName
        start local 2 // java.lang.String sectionName
        start local 3 // boolean writable
        start local 4 // boolean executable
         0: .line 122
            aconst_null
            areturn
        end local 4 // boolean executable
        end local 3 // boolean writable
        end local 2 // java.lang.String sectionName
        end local 1 // java.lang.String maybeSegmentName
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    1     1  maybeSegmentName  Ljava/lang/String;
            0    1     2       sectionName  Ljava/lang/String;
            0    1     3          writable  Z
            0    1     4        executable  Z
    MethodParameters:
                  Name  Flags
      maybeSegmentName  
      sectionName       
      writable          
      executable        

  public com.oracle.objectfile.pecoff.PECoffUserDefinedSection newUserDefinedSection(com.oracle.objectfile.ObjectFile$Segment, java.lang.String, int, com.oracle.objectfile.ElementImpl);
    descriptor: (Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;ILcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/pecoff/PECoffUserDefinedSection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // com.oracle.objectfile.ObjectFile$Segment segment
        start local 2 // java.lang.String name
        start local 3 // int alignment
        start local 4 // com.oracle.objectfile.ElementImpl impl
         0: .line 127
            new com.oracle.objectfile.pecoff.PECoffUserDefinedSection
            dup
            aload 0 /* this */
            aload 2 /* name */
            iload 3 /* alignment */
            aload 4 /* impl */
            invokespecial com.oracle.objectfile.pecoff.PECoffUserDefinedSection.<init>:(Lcom/oracle/objectfile/pecoff/PECoffObjectFile;Ljava/lang/String;ILcom/oracle/objectfile/ElementImpl;)V
            astore 5 /* userDefined */
        start local 5 // com.oracle.objectfile.pecoff.PECoffUserDefinedSection userDefined
         1: .line 128
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile.$assertionsDisabled:Z
            ifne 2
            aload 5 /* userDefined */
            invokevirtual com.oracle.objectfile.pecoff.PECoffUserDefinedSection.getImpl:()Lcom/oracle/objectfile/ElementImpl;
            aload 4 /* impl */
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 129
      StackMap locals: com.oracle.objectfile.pecoff.PECoffUserDefinedSection
      StackMap stack:
            aload 1 /* segment */
            ifnull 4
         3: .line 130
            aload 0 /* this */
            aload 1 /* segment */
            invokeinterface com.oracle.objectfile.ObjectFile$Segment.getName:()Ljava/lang/String;
            aload 2 /* name */
            iconst_1
            iconst_0
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.getOrCreateSegment:(Ljava/lang/String;Ljava/lang/String;ZZ)Lcom/oracle/objectfile/ObjectFile$Segment;
            aload 5 /* userDefined */
            invokeinterface com.oracle.objectfile.ObjectFile$Segment.add:(Ljava/lang/Object;)Z
            pop
         4: .line 132
      StackMap locals:
      StackMap stack:
            aload 4 /* impl */
            ifnull 6
         5: .line 133
            aload 4 /* impl */
            aload 5 /* userDefined */
            invokeinterface com.oracle.objectfile.ElementImpl.setElement:(Lcom/oracle/objectfile/ObjectFile$Element;)V
         6: .line 135
      StackMap locals:
      StackMap stack:
            aload 5 /* userDefined */
            areturn
        end local 5 // com.oracle.objectfile.pecoff.PECoffUserDefinedSection userDefined
        end local 4 // com.oracle.objectfile.ElementImpl impl
        end local 3 // int alignment
        end local 2 // java.lang.String name
        end local 1 // com.oracle.objectfile.ObjectFile$Segment segment
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    7     1      segment  Lcom/oracle/objectfile/ObjectFile$Segment;
            0    7     2         name  Ljava/lang/String;
            0    7     3    alignment  I
            0    7     4         impl  Lcom/oracle/objectfile/ElementImpl;
            1    7     5  userDefined  Lcom/oracle/objectfile/pecoff/PECoffUserDefinedSection;
    MethodParameters:
           Name  Flags
      segment    
      name       
      alignment  
      impl       

  public com.oracle.objectfile.pecoff.PECoffProgbitsSection newProgbitsSection(com.oracle.objectfile.ObjectFile$Segment, java.lang.String, int, boolean, boolean, com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl);
    descriptor: (Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;IZZLcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)Lcom/oracle/objectfile/pecoff/PECoffProgbitsSection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=7
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // com.oracle.objectfile.ObjectFile$Segment segment
        start local 2 // java.lang.String name
        start local 3 // int alignment
        start local 4 // boolean writable
        start local 5 // boolean executable
        start local 6 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl impl
         0: .line 140
            ldc Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSectionFlag;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 7 /* flags */
        start local 7 // java.util.EnumSet flags
         1: .line 141
            aload 7 /* flags */
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag.READ:Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSectionFlag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 142
            iload 5 /* executable */
            ifeq 6
         3: .line 143
            aload 7 /* flags */
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag.EXECUTE:Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSectionFlag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 144
            aload 7 /* flags */
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag.CODE:Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSectionFlag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         5: .line 145
            goto 7
         6: .line 146
      StackMap locals: java.util.EnumSet
      StackMap stack:
            aload 7 /* flags */
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag.INITIALIZED_DATA:Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSectionFlag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         7: .line 149
      StackMap locals:
      StackMap stack:
            iload 4 /* writable */
            ifeq 9
         8: .line 150
            aload 7 /* flags */
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag.WRITE:Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSectionFlag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         9: .line 153
      StackMap locals:
      StackMap stack:
            new com.oracle.objectfile.pecoff.PECoffProgbitsSection
            dup
            aload 0 /* this */
            aload 2 /* name */
            iload 3 /* alignment */
            aload 6 /* impl */
            aload 7 /* flags */
            invokespecial com.oracle.objectfile.pecoff.PECoffProgbitsSection.<init>:(Lcom/oracle/objectfile/pecoff/PECoffObjectFile;Ljava/lang/String;ILcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;Ljava/util/EnumSet;)V
            astore 8 /* progbits */
        start local 8 // com.oracle.objectfile.pecoff.PECoffProgbitsSection progbits
        10: .line 154
            aload 6 /* impl */
            aload 8 /* progbits */
            invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.setElement:(Lcom/oracle/objectfile/ObjectFile$Element;)V
        11: .line 155
            aload 8 /* progbits */
            areturn
        end local 8 // com.oracle.objectfile.pecoff.PECoffProgbitsSection progbits
        end local 7 // java.util.EnumSet flags
        end local 6 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl impl
        end local 5 // boolean executable
        end local 4 // boolean writable
        end local 3 // int alignment
        end local 2 // java.lang.String name
        end local 1 // com.oracle.objectfile.ObjectFile$Segment segment
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0   12     1     segment  Lcom/oracle/objectfile/ObjectFile$Segment;
            0   12     2        name  Ljava/lang/String;
            0   12     3   alignment  I
            0   12     4    writable  Z
            0   12     5  executable  Z
            0   12     6        impl  Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
            1   12     7       flags  Ljava/util/EnumSet<Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSectionFlag;>;
           10   12     8    progbits  Lcom/oracle/objectfile/pecoff/PECoffProgbitsSection;
    MethodParameters:
            Name  Flags
      segment     
      name        
      alignment   
      writable    
      executable  
      impl        

  public com.oracle.objectfile.pecoff.PECoffNobitsSection newNobitsSection(com.oracle.objectfile.ObjectFile$Segment, java.lang.String, com.oracle.objectfile.ObjectFile$NobitsSectionImpl);
    descriptor: (Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$NobitsSectionImpl;)Lcom/oracle/objectfile/pecoff/PECoffNobitsSection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // com.oracle.objectfile.ObjectFile$Segment segment
        start local 2 // java.lang.String name
        start local 3 // com.oracle.objectfile.ObjectFile$NobitsSectionImpl impl
         0: .line 160
            new com.oracle.objectfile.pecoff.PECoffNobitsSection
            dup
            aload 0 /* this */
            aload 2 /* name */
            aload 3 /* impl */
            invokespecial com.oracle.objectfile.pecoff.PECoffNobitsSection.<init>:(Lcom/oracle/objectfile/pecoff/PECoffObjectFile;Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$NobitsSectionImpl;)V
            astore 4 /* nobits */
        start local 4 // com.oracle.objectfile.pecoff.PECoffNobitsSection nobits
         1: .line 161
            aload 3 /* impl */
            aload 4 /* nobits */
            invokeinterface com.oracle.objectfile.ObjectFile$NobitsSectionImpl.setElement:(Lcom/oracle/objectfile/ObjectFile$Element;)V
         2: .line 162
            aload 4 /* nobits */
            areturn
        end local 4 // com.oracle.objectfile.pecoff.PECoffNobitsSection nobits
        end local 3 // com.oracle.objectfile.ObjectFile$NobitsSectionImpl impl
        end local 2 // java.lang.String name
        end local 1 // com.oracle.objectfile.ObjectFile$Segment segment
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    3     1  segment  Lcom/oracle/objectfile/ObjectFile$Segment;
            0    3     2     name  Ljava/lang/String;
            0    3     3     impl  Lcom/oracle/objectfile/ObjectFile$NobitsSectionImpl;
            1    3     4   nobits  Lcom/oracle/objectfile/pecoff/PECoffNobitsSection;
    MethodParameters:
         Name  Flags
      segment  
      name     
      impl     

  public com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection getSectionByIndex(int);
    descriptor: (I)Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // int i
         0: .line 167
            aload 0 /* this */
            getfield com.oracle.objectfile.pecoff.PECoffObjectFile.elements:Lcom/oracle/objectfile/ElementList;
            aload 0 /* this */
            getfield com.oracle.objectfile.pecoff.PECoffObjectFile.elements:Lcom/oracle/objectfile/ElementList;
            iload 1 /* i */
            iconst_1
            isub
            invokevirtual com.oracle.objectfile.ElementList.sectionIndexToElementIndex:(I)I
            invokevirtual com.oracle.objectfile.ElementList.get:(I)Lcom/oracle/objectfile/ObjectFile$Element;
            checkcast com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
            areturn
        end local 1 // int i
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public int getIndexForSection(com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection);
    descriptor: (Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSection;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection s
         0: .line 174
            aload 0 /* this */
            getfield com.oracle.objectfile.pecoff.PECoffObjectFile.elements:Lcom/oracle/objectfile/ElementList;
            aload 0 /* this */
            getfield com.oracle.objectfile.pecoff.PECoffObjectFile.elements:Lcom/oracle/objectfile/ElementList;
            aload 1 /* s */
            invokevirtual com.oracle.objectfile.ElementList.indexOf:(Ljava/lang/Object;)I
            invokevirtual com.oracle.objectfile.ElementList.elementIndexToSectionIndex:(I)I
            iconst_1
            iadd
            ireturn
        end local 1 // com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection s
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    1     1     s  Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSection;
    MethodParameters:
      Name  Flags
      s     

  protected boolean elementsCanSharePage(com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.ObjectFile$Element, int, int);
    descriptor: (Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/ObjectFile$Element;II)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // com.oracle.objectfile.ObjectFile$Element s1
        start local 2 // com.oracle.objectfile.ObjectFile$Element s2
        start local 3 // int off1
        start local 4 // int off2
         0: .line 179
            aload 1 /* s1 */
            instanceof com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
            ifeq 8
            aload 2 /* s2 */
            instanceof com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
            ifeq 8
         1: .line 180
            aload 1 /* s1 */
            checkcast com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
            astore 5 /* es1 */
        start local 5 // com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection es1
         2: .line 181
            aload 2 /* s2 */
            checkcast com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
            astore 6 /* es2 */
        start local 6 // com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection es2
         3: .line 183
            aload 5 /* es1 */
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection.getFlags:()Ljava/util/EnumSet;
            invokestatic com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag.getMemSegmentFlags:(Ljava/util/EnumSet;)J
            aload 6 /* es2 */
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection.getFlags:()Ljava/util/EnumSet;
            invokestatic com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag.getMemSegmentFlags:(Ljava/util/EnumSet;)J
            lcmp
            ifne 4
            iconst_1
            goto 5
      StackMap locals: com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 7 /* flagsCompatible */
        start local 7 // boolean flagsCompatible
         6: .line 185
            iload 7 /* flagsCompatible */
            ifeq 7
            aload 0 /* this */
            aload 5 /* es1 */
            aload 6 /* es2 */
            iload 3 /* off1 */
            iload 4 /* off2 */
            invokespecial com.oracle.objectfile.ObjectFile.elementsCanSharePage:(Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/ObjectFile$Element;II)Z
            ifeq 7
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         7: iconst_0
            ireturn
        end local 7 // boolean flagsCompatible
        end local 6 // com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection es2
        end local 5 // com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection es1
         8: .line 186
      StackMap locals:
      StackMap stack:
            aload 1 /* s1 */
            instanceof com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
            ifne 9
            aload 2 /* s2 */
            instanceof com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
            ifeq 10
         9: .line 189
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        10: .line 192
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile.$assertionsDisabled:Z
            ifne 11
            aload 1 /* s1 */
            instanceof com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
            ifeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 193
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile.$assertionsDisabled:Z
            ifne 12
            aload 2 /* s2 */
            instanceof com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
            ifeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 194
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // int off2
        end local 3 // int off1
        end local 2 // com.oracle.objectfile.ObjectFile$Element s2
        end local 1 // com.oracle.objectfile.ObjectFile$Element s1
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0   13     1               s1  Lcom/oracle/objectfile/ObjectFile$Element;
            0   13     2               s2  Lcom/oracle/objectfile/ObjectFile$Element;
            0   13     3             off1  I
            0   13     4             off2  I
            2    8     5              es1  Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSection;
            3    8     6              es2  Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSection;
            6    8     7  flagsCompatible  Z
    MethodParameters:
      Name  Flags
      s1    
      s2    
      off1  
      off2  

  public java.util.List<com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection> getPECoffSections();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
         0: .line 199
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.oracle.objectfile.pecoff.PECoffObjectFile.elements:Lcom/oracle/objectfile/ElementList;
            invokevirtual com.oracle.objectfile.ElementList.sectionsCount:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* sections */
        start local 1 // java.util.List sections
         1: .line 200
            aload 0 /* this */
            getfield com.oracle.objectfile.pecoff.PECoffObjectFile.elements:Lcom/oracle/objectfile/ElementList;
            invokevirtual com.oracle.objectfile.ElementList.sectionsIterator:()Ljava/util/Iterator;
            astore 2 /* it */
        start local 2 // java.util.Iterator it
         2: .line 201
            goto 5
         3: .line 202
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
            astore 3 /* pe */
        start local 3 // com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection pe
         4: .line 203
            aload 1 /* sections */
            aload 3 /* pe */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection pe
         5: .line 201
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 205
            aload 1 /* sections */
            areturn
        end local 2 // java.util.Iterator it
        end local 1 // java.util.List sections
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            1    7     1  sections  Ljava/util/List<Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSection;>;
            2    7     2        it  Ljava/util/Iterator<Lcom/oracle/objectfile/ObjectFile$Section;>;
            4    5     3        pe  Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSection;
    Signature: ()Ljava/util/List<Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSection;>;

  public java.util.Set<com.oracle.objectfile.ObjectFile$Segment> getSegments();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
         0: .line 634
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
    Signature: ()Ljava/util/Set<Lcom/oracle/objectfile/ObjectFile$Segment;>;

  public java.nio.ByteOrder getByteOrder();
    descriptor: ()Ljava/nio/ByteOrder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
         0: .line 639
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile.byteOrder:Ljava/nio/ByteOrder;
            areturn
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;

  public void setByteOrder(java.nio.ByteOrder);
    descriptor: (Ljava/nio/ByteOrder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // java.nio.ByteOrder byteorder
         0: .line 644
            aload 1 /* byteorder */
            putstatic com.oracle.objectfile.pecoff.PECoffObjectFile.byteOrder:Ljava/nio/ByteOrder;
         1: .line 645
            return
        end local 1 // java.nio.ByteOrder byteorder
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    2     1  byteorder  Ljava/nio/ByteOrder;
    MethodParameters:
           Name  Flags
      byteorder  

  public static java.nio.ByteOrder getTargetByteOrder();
    descriptor: ()Ljava/nio/ByteOrder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 648
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile.byteOrder:Ljava/nio/ByteOrder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int getWordSizeInBytes();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
         0: .line 653
            bipush 8
            ireturn
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;

  public boolean shouldRecordDebugRelocations();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
         0: .line 658
            iconst_1
            ireturn
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;

  public com.oracle.objectfile.pecoff.PECoffMachine getMachine();
    descriptor: ()Lcom/oracle/objectfile/pecoff/PECoffMachine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
         0: .line 662
            aload 0 /* this */
            getfield com.oracle.objectfile.pecoff.PECoffObjectFile.machine:Lcom/oracle/objectfile/pecoff/PECoffMachine;
            areturn
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;

  public com.oracle.objectfile.pecoff.PECoffRelocationTable getOrCreateRelocSection(com.oracle.objectfile.pecoff.PECoffSymtab, boolean);
    descriptor: (Lcom/oracle/objectfile/pecoff/PECoffSymtab;Z)Lcom/oracle/objectfile/pecoff/PECoffRelocationTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // com.oracle.objectfile.pecoff.PECoffSymtab syms
        start local 2 // boolean withExplicitAddends
         0: .line 666
            aload 0 /* this */
            ldc ".reloctab"
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.elementForName:(Ljava/lang/String;)Lcom/oracle/objectfile/ObjectFile$Element;
            astore 3 /* el */
        start local 3 // com.oracle.objectfile.ObjectFile$Element el
         1: .line 668
            aload 3 /* el */
            ifnonnull 4
         2: .line 669
            new com.oracle.objectfile.pecoff.PECoffRelocationTable
            dup
            aload 0 /* this */
            ldc ".reloctab"
            aload 1 /* syms */
            iload 2 /* withExplicitAddends */
            invokespecial com.oracle.objectfile.pecoff.PECoffRelocationTable.<init>:(Lcom/oracle/objectfile/pecoff/PECoffObjectFile;Ljava/lang/String;Lcom/oracle/objectfile/pecoff/PECoffSymtab;Z)V
            astore 4 /* rs */
        start local 4 // com.oracle.objectfile.pecoff.PECoffRelocationTable rs
         3: .line 670
            goto 8
        end local 4 // com.oracle.objectfile.pecoff.PECoffRelocationTable rs
      StackMap locals: com.oracle.objectfile.ObjectFile$Element
      StackMap stack:
         4: aload 3 /* el */
            instanceof com.oracle.objectfile.pecoff.PECoffRelocationTable
            ifeq 7
         5: .line 671
            aload 3 /* el */
            checkcast com.oracle.objectfile.pecoff.PECoffRelocationTable
            astore 4 /* rs */
        start local 4 // com.oracle.objectfile.pecoff.PECoffRelocationTable rs
         6: .line 672
            goto 8
        end local 4 // com.oracle.objectfile.pecoff.PECoffRelocationTable rs
         7: .line 673
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "section exists but is not an PECoffRelocationTable"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        start local 4 // com.oracle.objectfile.pecoff.PECoffRelocationTable rs
         8: .line 675
      StackMap locals: com.oracle.objectfile.pecoff.PECoffRelocationTable
      StackMap stack:
            aload 4 /* rs */
            areturn
        end local 4 // com.oracle.objectfile.pecoff.PECoffRelocationTable rs
        end local 3 // com.oracle.objectfile.ObjectFile$Element el
        end local 2 // boolean withExplicitAddends
        end local 1 // com.oracle.objectfile.pecoff.PECoffSymtab syms
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    9     1                 syms  Lcom/oracle/objectfile/pecoff/PECoffSymtab;
            0    9     2  withExplicitAddends  Z
            1    9     3                   el  Lcom/oracle/objectfile/ObjectFile$Element;
            3    4     4                   rs  Lcom/oracle/objectfile/pecoff/PECoffRelocationTable;
            6    7     4                   rs  Lcom/oracle/objectfile/pecoff/PECoffRelocationTable;
            8    9     4                   rs  Lcom/oracle/objectfile/pecoff/PECoffRelocationTable;
    MethodParameters:
                     Name  Flags
      syms                 
      withExplicitAddends  

  public com.oracle.objectfile.SymbolTable getSymbolTable();
    descriptor: ()Lcom/oracle/objectfile/SymbolTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
         0: .line 680
            aload 0 /* this */
            ldc ".symtab"
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.elementForName:(Ljava/lang/String;)Lcom/oracle/objectfile/ObjectFile$Element;
            checkcast com.oracle.objectfile.SymbolTable
            areturn
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;

  public com.oracle.objectfile.pecoff.PECoffRelocationTable getRelocationTable();
    descriptor: ()Lcom/oracle/objectfile/pecoff/PECoffRelocationTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
         0: .line 684
            aload 0 /* this */
            ldc ".reloctab"
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.elementForName:(Ljava/lang/String;)Lcom/oracle/objectfile/ObjectFile$Element;
            checkcast com.oracle.objectfile.pecoff.PECoffRelocationTable
            areturn
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;

  protected int getMinimumFileSize();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
         0: .line 689
            iconst_0
            ireturn
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;

  public com.oracle.objectfile.ObjectFile$Section newDebugSection(java.lang.String, com.oracle.objectfile.ElementImpl);
    descriptor: (Ljava/lang/String;Lcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // java.lang.String name
        start local 2 // com.oracle.objectfile.ElementImpl impl
         0: .line 694
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* impl */
            invokespecial com.oracle.objectfile.ObjectFile.newDebugSection:(Ljava/lang/String;Lcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
            checkcast com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection
            astore 3 /* coffSection */
        start local 3 // com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection coffSection
         1: .line 695
            aload 3 /* coffSection */
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection.getFlags:()Ljava/util/EnumSet;
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag.DISCARDABLE:Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSectionFlag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 696
            aload 3 /* coffSection */
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection.getFlags:()Ljava/util/EnumSet;
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag.READ:Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSectionFlag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 697
            aload 3 /* coffSection */
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection.getFlags:()Ljava/util/EnumSet;
            getstatic com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag.INITIALIZED_DATA:Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSectionFlag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 698
            aload 3 /* coffSection */
            areturn
        end local 3 // com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection coffSection
        end local 2 // com.oracle.objectfile.ElementImpl impl
        end local 1 // java.lang.String name
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    5     1         name  Ljava/lang/String;
            0    5     2         impl  Lcom/oracle/objectfile/ElementImpl;
            1    5     3  coffSection  Lcom/oracle/objectfile/pecoff/PECoffObjectFile$PECoffSection;
    MethodParameters:
      Name  Flags
      name  
      impl  

  public void installDebugInfo(com.oracle.objectfile.debuginfo.DebugInfoProvider);
    descriptor: (Lcom/oracle/objectfile/debuginfo/DebugInfoProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
        start local 1 // com.oracle.objectfile.debuginfo.DebugInfoProvider debugInfoProvider
         0: .line 703
            new com.oracle.objectfile.pecoff.cv.CVDebugInfo
            dup
            aload 0 /* this */
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.getByteOrder:()Ljava/nio/ByteOrder;
            invokespecial com.oracle.objectfile.pecoff.cv.CVDebugInfo.<init>:(Ljava/nio/ByteOrder;)V
            astore 2 /* cvDebugInfo */
        start local 2 // com.oracle.objectfile.pecoff.cv.CVDebugInfo cvDebugInfo
         1: .line 706
            aload 2 /* cvDebugInfo */
            invokevirtual com.oracle.objectfile.pecoff.cv.CVDebugInfo.getCVSymbolSection:()Lcom/oracle/objectfile/pecoff/cv/CVSymbolSectionImpl;
            astore 3 /* cvSymbolSectionImpl */
        start local 3 // com.oracle.objectfile.pecoff.cv.CVSymbolSectionImpl cvSymbolSectionImpl
         2: .line 707
            aload 2 /* cvDebugInfo */
            invokevirtual com.oracle.objectfile.pecoff.cv.CVDebugInfo.getCVTypeSection:()Lcom/oracle/objectfile/pecoff/cv/CVTypeSectionImpl;
            astore 4 /* cvTypeSectionImpl */
        start local 4 // com.oracle.objectfile.pecoff.cv.CVTypeSectionImpl cvTypeSectionImpl
         3: .line 710
            aload 0 /* this */
            aload 3 /* cvSymbolSectionImpl */
            invokevirtual com.oracle.objectfile.pecoff.cv.CVSymbolSectionImpl.getSectionName:()Ljava/lang/String;
            aload 3 /* cvSymbolSectionImpl */
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.newDebugSection:(Ljava/lang/String;Lcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
            pop
         4: .line 711
            aload 0 /* this */
            aload 4 /* cvTypeSectionImpl */
            invokevirtual com.oracle.objectfile.pecoff.cv.CVTypeSectionImpl.getSectionName:()Ljava/lang/String;
            aload 4 /* cvTypeSectionImpl */
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.newDebugSection:(Ljava/lang/String;Lcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
            pop
         5: .line 722
            aload 3 /* cvSymbolSectionImpl */
            iconst_0
            invokevirtual com.oracle.objectfile.pecoff.cv.CVSymbolSectionImpl.getOrCreateRelocationElement:(Z)Lcom/oracle/objectfile/ObjectFile$Element;
            pop
         6: .line 723
            aload 4 /* cvTypeSectionImpl */
            iconst_0
            invokevirtual com.oracle.objectfile.pecoff.cv.CVTypeSectionImpl.getOrCreateRelocationElement:(Z)Lcom/oracle/objectfile/ObjectFile$Element;
            pop
         7: .line 726
            aload 2 /* cvDebugInfo */
            aload 1 /* debugInfoProvider */
            invokevirtual com.oracle.objectfile.pecoff.cv.CVDebugInfo.installDebugInfo:(Lcom/oracle/objectfile/debuginfo/DebugInfoProvider;)V
         8: .line 727
            return
        end local 4 // com.oracle.objectfile.pecoff.cv.CVTypeSectionImpl cvTypeSectionImpl
        end local 3 // com.oracle.objectfile.pecoff.cv.CVSymbolSectionImpl cvSymbolSectionImpl
        end local 2 // com.oracle.objectfile.pecoff.cv.CVDebugInfo cvDebugInfo
        end local 1 // com.oracle.objectfile.debuginfo.DebugInfoProvider debugInfoProvider
        end local 0 // com.oracle.objectfile.pecoff.PECoffObjectFile this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lcom/oracle/objectfile/pecoff/PECoffObjectFile;
            0    9     1    debugInfoProvider  Lcom/oracle/objectfile/debuginfo/DebugInfoProvider;
            1    9     2          cvDebugInfo  Lcom/oracle/objectfile/pecoff/cv/CVDebugInfo;
            2    9     3  cvSymbolSectionImpl  Lcom/oracle/objectfile/pecoff/cv/CVSymbolSectionImpl;
            3    9     4    cvTypeSectionImpl  Lcom/oracle/objectfile/pecoff/cv/CVTypeSectionImpl;
    MethodParameters:
                   Name  Flags
      debugInfoProvider  

  public com.oracle.objectfile.ObjectFile$Section newProgbitsSection(com.oracle.objectfile.ObjectFile$Segment, java.lang.String, int, boolean, boolean, com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl);
    descriptor: (Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;IZZLcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=7, locals=7, args_size=7
         0: .line 1
            aload 0
            aload 1
            aload 2
            iload 3
            iload 4
            iload 5
            aload 6
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.newProgbitsSection:(Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;IZZLcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)Lcom/oracle/objectfile/pecoff/PECoffProgbitsSection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.oracle.objectfile.ObjectFile$Section newNobitsSection(com.oracle.objectfile.ObjectFile$Segment, java.lang.String, com.oracle.objectfile.ObjectFile$NobitsSectionImpl);
    descriptor: (Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$NobitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.newNobitsSection:(Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$NobitsSectionImpl;)Lcom/oracle/objectfile/pecoff/PECoffNobitsSection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.oracle.objectfile.ObjectFile$Section newUserDefinedSection(com.oracle.objectfile.ObjectFile$Segment, java.lang.String, int, com.oracle.objectfile.ElementImpl);
    descriptor: (Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;ILcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
         0: .line 1
            aload 0
            aload 1
            aload 2
            iload 3
            aload 4
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.newUserDefinedSection:(Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;ILcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/pecoff/PECoffUserDefinedSection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected com.oracle.objectfile.SymbolTable createSymbolTable();
    descriptor: ()Lcom/oracle/objectfile/SymbolTable;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.oracle.objectfile.pecoff.PECoffObjectFile.createSymbolTable:()Lcom/oracle/objectfile/pecoff/PECoffSymtab;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static com.oracle.objectfile.ElementList access$4(com.oracle.objectfile.pecoff.PECoffObjectFile);
    descriptor: (Lcom/oracle/objectfile/pecoff/PECoffObjectFile;)Lcom/oracle/objectfile/ElementList;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 65
            aload 0
            getfield com.oracle.objectfile.pecoff.PECoffObjectFile.elements:Lcom/oracle/objectfile/ElementList;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "PECoffObjectFile.java"
NestMembers:
  com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffDirectiveSection  com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffHeader  com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection  com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag  com.oracle.objectfile.pecoff.PECoffObjectFile$SectionHeaderTable
InnerClasses:
  public abstract Element = com.oracle.objectfile.ObjectFile$Element of com.oracle.objectfile.ObjectFile
  public final Format = com.oracle.objectfile.ObjectFile$Format of com.oracle.objectfile.ObjectFile
  public abstract NobitsSectionImpl = com.oracle.objectfile.ObjectFile$NobitsSectionImpl of com.oracle.objectfile.ObjectFile
  public abstract ProgbitsSectionImpl = com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl of com.oracle.objectfile.ObjectFile
  public abstract Section = com.oracle.objectfile.ObjectFile$Section of com.oracle.objectfile.ObjectFile
  public abstract Segment = com.oracle.objectfile.ObjectFile$Segment of com.oracle.objectfile.ObjectFile
  public abstract Symbol = com.oracle.objectfile.ObjectFile$Symbol of com.oracle.objectfile.ObjectFile
  public PECoffDirectiveSection = com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffDirectiveSection of com.oracle.objectfile.pecoff.PECoffObjectFile
  public PECoffHeader = com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffHeader of com.oracle.objectfile.pecoff.PECoffObjectFile
  public abstract PECoffSection = com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSection of com.oracle.objectfile.pecoff.PECoffObjectFile
  public final PECoffSectionFlag = com.oracle.objectfile.pecoff.PECoffObjectFile$PECoffSectionFlag of com.oracle.objectfile.pecoff.PECoffObjectFile
  public SectionHeaderTable = com.oracle.objectfile.pecoff.PECoffObjectFile$SectionHeaderTable of com.oracle.objectfile.pecoff.PECoffObjectFile