public class jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject
super_class: java.lang.Object
{
private final jdk.tools.jaotc.binformat.BinaryContainer binContainer;
descriptor: Ljdk/tools/jaotc/binformat/BinaryContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.pecoff.PECoffContainer pecoffContainer;
descriptor: Ljdk/tools/jaotc/binformat/pecoff/PECoffContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int sectionAlignment;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.tools.jaotc.binformat.BinaryContainer, java.lang.String);
descriptor: (Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
2: aload 0
new jdk.tools.jaotc.binformat.pecoff.PECoffContainer
dup
aload 2
invokespecial jdk.tools.jaotc.binformat.pecoff.PECoffContainer.<init>:(Ljava/lang/String;)V
putfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.pecoffContainer:Ljdk/tools/jaotc/binformat/pecoff/PECoffContainer;
3: aload 0
aload 1
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeSegmentSize:()I
putfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.sectionAlignment:I
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject;
0 5 1 binContainer Ljdk/tools/jaotc/binformat/BinaryContainer;
0 5 2 outputFileName Ljava/lang/String;
MethodParameters:
Name Flags
binContainer
outputFileName
private static jdk.tools.jaotc.binformat.pecoff.PECoffSection createByteSection(java.util.ArrayList<jdk.tools.jaotc.binformat.pecoff.PECoffSection>, java.lang.String, byte[], boolean, int, int);
descriptor: (Ljava/util/ArrayList;Ljava/lang/String;[BZII)Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new jdk.tools.jaotc.binformat.pecoff.PECoffSection
dup
aload 1
aload 2
iload 4
iload 5
iload 3
aload 0
invokevirtual java.util.ArrayList.size:()I
invokespecial jdk.tools.jaotc.binformat.pecoff.PECoffSection.<init>:(Ljava/lang/String;[BIIZI)V
astore 6
start local 6 1: aload 0
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;
0 3 1 sectName Ljava/lang/String;
0 3 2 scnData [B
0 3 3 hasRelocs Z
0 3 4 scnFlags I
0 3 5 sectAlign I
1 3 6 sect Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;Ljava/lang/String;[BZII)Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;
MethodParameters:
Name Flags
sections
sectName
scnData
hasRelocs
scnFlags
sectAlign
private static void createByteSection(java.util.ArrayList<jdk.tools.jaotc.binformat.pecoff.PECoffSection>, jdk.tools.jaotc.binformat.ByteContainer, int, );
descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.hasRelocations:()Z
istore 5
start local 5 1: aload 1
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteArray:()[B
astore 6
start local 6 2: aload 0
aload 1
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getContainerName:()Ljava/lang/String;
aload 6
iload 5
iload 2
iload 3
invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZII)Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;
astore 4
start local 4 3: aload 1
aload 4
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.getSectionId:()I
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.setSectionId:(I)V
4: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;
0 5 1 c Ljdk/tools/jaotc/binformat/ByteContainer;
0 5 2 scnFlags I
0 5 3 sectAlign I
3 5 4 sect Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;
1 5 5 hasRelocs Z
2 5 6 scnData [B
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;Ljdk/tools/jaotc/binformat/ByteContainer;II)V
MethodParameters:
Name Flags
sections
c
scnFlags
sectAlign
private void createCodeSection(java.util.ArrayList<jdk.tools.jaotc.binformat.pecoff.PECoffSection>, jdk.tools.jaotc.binformat.CodeContainer);
descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/CodeContainer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: ldc 1610612768
istore 3
start local 3 1: aload 1
aload 2
iload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.sectionAlignment:I
invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createByteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;II)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject;
0 3 1 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;
0 3 2 c Ljdk/tools/jaotc/binformat/CodeContainer;
1 3 3 scnFlags I
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;Ljdk/tools/jaotc/binformat/CodeContainer;)V
MethodParameters:
Name Flags
sections
c
private void createReadOnlySection(java.util.ArrayList<jdk.tools.jaotc.binformat.pecoff.PECoffSection>, jdk.tools.jaotc.binformat.ReadOnlyDataContainer);
descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: ldc 1073741888
istore 3
start local 3 1: aload 1
aload 2
iload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.sectionAlignment:I
invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createByteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;II)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject;
0 3 1 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;
0 3 2 c Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
1 3 3 scnFlags I
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
MethodParameters:
Name Flags
sections
c
private void createReadWriteSection(java.util.ArrayList<jdk.tools.jaotc.binformat.pecoff.PECoffSection>, jdk.tools.jaotc.binformat.ByteContainer);
descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: ldc -1073741824
istore 3
start local 3 1: aload 2
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteArray:()[B
arraylength
ifle 4
2: iload 3
bipush 64
ior
istore 3
3: goto 5
4: StackMap locals: int
StackMap stack:
iload 3
sipush 128
ior
istore 3
5: StackMap locals:
StackMap stack:
aload 1
aload 2
iload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.sectionAlignment:I
invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createByteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;II)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject;
0 7 1 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;
0 7 2 c Ljdk/tools/jaotc/binformat/ByteContainer;
1 7 3 scnFlags I
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;Ljdk/tools/jaotc/binformat/ByteContainer;)V
MethodParameters:
Name Flags
sections
c
public void createPECoffRelocObject(java.util.Map<jdk.tools.jaotc.binformat.Symbol, java.util.List<jdk.tools.jaotc.binformat.Relocation>>, java.util.Collection<jdk.tools.jaotc.binformat.Symbol>);
descriptor: (Ljava/util/Map;Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeContainer:()Ljdk/tools/jaotc/binformat/CodeContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createCodeSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/CodeContainer;)V
2: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetaspaceNamesContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
3: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
4: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodsOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
5: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesDependenciesContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
6: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodMetadataContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
7: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getStubsOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
8: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getHeaderContainer:()Ljdk/tools/jaotc/binformat/HeaderContainer;
invokevirtual jdk.tools.jaotc.binformat.HeaderContainer.getContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
9: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeSegmentsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
10: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getConstantDataContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
11: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getConfigContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
12: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
13: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCountersGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
14: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetadataGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
15: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodStateContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
16: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getOopGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
17: aload 0
aload 3
aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getExtLinkageGOTContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
18: new jdk.tools.jaotc.binformat.pecoff.PECoffHeader
dup
invokespecial jdk.tools.jaotc.binformat.pecoff.PECoffHeader.<init>:()V
astore 4
start local 4 19: aload 2
invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createPECoffSymbolTables:(Ljava/util/Collection;)Ljdk/tools/jaotc/binformat/pecoff/PECoffSymtab;
astore 5
start local 5 20: sipush 2560
istore 6
start local 6 21: aload 3
ldc ".drectve"
aload 5
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSymtab.getDirectiveArray:()[B
iconst_0
iload 6
iconst_1
invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZII)Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;
pop
22: aload 0
aload 3
aload 1
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createPECoffRelocTable:(Ljava/util/ArrayList;Ljava/util/Map;)Ljdk/tools/jaotc/binformat/pecoff/PECoffRelocTable;
astore 7
start local 7 23: getstatic jdk.tools.jaotc.binformat.pecoff.PECoff$IMAGE_FILE_HEADER.totalsize:I
24: getstatic jdk.tools.jaotc.binformat.pecoff.PECoff$IMAGE_SECTION_HEADER.totalsize:I
aload 3
invokevirtual java.util.ArrayList.size:()I
imul
25: iadd
istore 8
start local 8 26: aload 4
aload 3
invokevirtual java.util.ArrayList.size:()I
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffHeader.setSectionCount:(I)V
27: aload 4
aload 5
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSymtab.getSymtabCount:()I
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffHeader.setSymbolCount:(I)V
28: aload 4
iload 8
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffHeader.setSymbolOff:(I)V
29: iload 8
aload 5
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSymtab.getSymtabCount:()I
getstatic jdk.tools.jaotc.binformat.pecoff.PECoff$IMAGE_SYMBOL.totalsize:I
imul
30: aload 5
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSymtab.getStrtabSize:()I
31: iadd
iadd
istore 8
32: iload 8
aload 3
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.pecoff.PECoffSection
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.getDataAlign:()I
iconst_1
isub
iadd
33: aload 3
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.pecoff.PECoffSection
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.getDataAlign:()I
iconst_1
isub
iconst_m1
ixor
34: iand
istore 8
35: iconst_0
istore 9
start local 9 36: goto 44
37: StackMap locals: jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject java.util.Map java.util.Collection java.util.ArrayList jdk.tools.jaotc.binformat.pecoff.PECoffHeader jdk.tools.jaotc.binformat.pecoff.PECoffSymtab int jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable int int
StackMap stack:
aload 3
iload 9
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.pecoff.PECoffSection
astore 10
start local 10 38: iload 8
aload 10
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.getDataAlign:()I
iconst_1
isub
iadd
39: aload 10
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.getDataAlign:()I
iconst_1
isub
iconst_m1
ixor
40: iand
istore 8
41: aload 10
iload 8
i2l
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.setOffset:(J)V
42: iload 8
i2l
aload 10
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.getSize:()J
ladd
l2i
istore 8
end local 10 43: iinc 9 1
StackMap locals:
StackMap stack:
44: iload 9
aload 3
invokevirtual java.util.ArrayList.size:()I
if_icmplt 37
end local 9 45: iconst_0
istore 9
start local 9 46: goto 56
47: StackMap locals:
StackMap stack:
aload 3
iload 9
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.pecoff.PECoffSection
astore 10
start local 10 48: aload 10
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.hasRelocations:()Z
ifeq 55
49: aload 7
iload 9
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable.getNumRelocs:(I)I
istore 11
start local 11 50: aload 10
iload 8
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.setReloff:(I)V
51: aload 10
iload 11
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.setRelcount:(I)V
52: iload 11
ldc 65535
if_icmple 54
53: iinc 11 1
54: StackMap locals: jdk.tools.jaotc.binformat.pecoff.PECoffSection int
StackMap stack:
iload 8
iload 11
getstatic jdk.tools.jaotc.binformat.pecoff.PECoff$IMAGE_RELOCATION.totalsize:I
imul
iadd
istore 8
end local 11 end local 10 55: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
56: iload 9
aload 3
invokevirtual java.util.ArrayList.size:()I
if_icmplt 47
end local 9 57: aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.pecoffContainer:Ljdk/tools/jaotc/binformat/pecoff/PECoffContainer;
aload 4
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffHeader.getArray:()[B
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffContainer.writeBytes:([B)V
58: iconst_0
istore 9
start local 9 59: goto 63
60: StackMap locals:
StackMap stack:
aload 3
iload 9
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.pecoff.PECoffSection
astore 10
start local 10 61: aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.pecoffContainer:Ljdk/tools/jaotc/binformat/pecoff/PECoffContainer;
aload 10
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.getArray:()[B
invokestatic jdk.tools.jaotc.binformat.pecoff.PECoffSection.getShdrAlign:()I
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffContainer.writeBytes:([BI)V
end local 10 62: iinc 9 1
StackMap locals:
StackMap stack:
63: iload 9
aload 3
invokevirtual java.util.ArrayList.size:()I
if_icmplt 60
end local 9 64: aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.pecoffContainer:Ljdk/tools/jaotc/binformat/pecoff/PECoffContainer;
aload 5
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSymtab.getSymtabArray:()[B
iconst_4
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffContainer.writeBytes:([BI)V
65: aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.pecoffContainer:Ljdk/tools/jaotc/binformat/pecoff/PECoffContainer;
aload 5
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSymtab.getStrtabArray:()[B
iconst_1
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffContainer.writeBytes:([BI)V
66: iconst_0
istore 9
start local 9 67: goto 71
68: StackMap locals:
StackMap stack:
aload 3
iload 9
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.pecoff.PECoffSection
astore 10
start local 10 69: aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.pecoffContainer:Ljdk/tools/jaotc/binformat/pecoff/PECoffContainer;
aload 10
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.getDataArray:()[B
aload 10
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSection.getDataAlign:()I
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffContainer.writeBytes:([BI)V
end local 10 70: iinc 9 1
StackMap locals:
StackMap stack:
71: iload 9
aload 3
invokevirtual java.util.ArrayList.size:()I
if_icmplt 68
end local 9 72: iconst_0
istore 9
start local 9 73: goto 77
74: StackMap locals:
StackMap stack:
aload 7
iload 9
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable.getNumRelocs:(I)I
ifle 76
75: aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.pecoffContainer:Ljdk/tools/jaotc/binformat/pecoff/PECoffContainer;
aload 7
iload 9
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable.getRelocData:(I)[B
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffContainer.writeBytes:([B)V
76: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
77: iload 9
aload 3
invokevirtual java.util.ArrayList.size:()I
if_icmplt 74
end local 9 78: aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.pecoffContainer:Ljdk/tools/jaotc/binformat/pecoff/PECoffContainer;
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffContainer.close:()V
79: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 80 0 this Ljdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject;
0 80 1 relocationTable Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
0 80 2 symbols Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;
1 80 3 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;
19 80 4 header Ljdk/tools/jaotc/binformat/pecoff/PECoffHeader;
20 80 5 symtab Ljdk/tools/jaotc/binformat/pecoff/PECoffSymtab;
21 80 6 scnFlags I
23 80 7 pecoffRelocs Ljdk/tools/jaotc/binformat/pecoff/PECoffRelocTable;
26 80 8 file_offset I
36 45 9 i I
38 43 10 sect Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;
46 57 9 i I
48 55 10 sect Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;
50 55 11 nreloc I
59 64 9 i I
61 62 10 sect Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;
67 72 9 i I
69 70 10 sect Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;
73 78 9 i I
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;)V
MethodParameters:
Name Flags
relocationTable
symbols
private static jdk.tools.jaotc.binformat.pecoff.PECoffSymtab createPECoffSymbolTables(java.util.Collection<jdk.tools.jaotc.binformat.Symbol>);
descriptor: (Ljava/util/Collection;)Ljdk/tools/jaotc/binformat/pecoff/PECoffSymtab;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=6, args_size=1
start local 0 0: new jdk.tools.jaotc.binformat.pecoff.PECoffSymtab
dup
invokespecial jdk.tools.jaotc.binformat.pecoff.PECoffSymtab.<init>:()V
astore 1
start local 1 1: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: java.util.Collection jdk.tools.jaotc.binformat.pecoff.PECoffSymtab top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.Symbol
astore 2
start local 2 3: aload 2
invokevirtual jdk.tools.jaotc.binformat.Symbol.getSection:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getSectionId:()I
istore 4
start local 4 4: aload 1
aload 2
invokevirtual jdk.tools.jaotc.binformat.Symbol.getName:()Ljava/lang/String;
aload 2
invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.getPECoffTypeOf:(Ljdk/tools/jaotc/binformat/Symbol;)B
aload 2
invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.getPECoffClassOf:(Ljdk/tools/jaotc/binformat/Symbol;)B
iload 4
i2b
aload 2
invokevirtual jdk.tools.jaotc.binformat.Symbol.getOffset:()I
i2l
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSymtab.addSymbolEntry:(Ljava/lang/String;BBBJ)Ljdk/tools/jaotc/binformat/pecoff/PECoffSymbol;
astore 5
start local 5 5: aload 2
aload 5
invokevirtual jdk.tools.jaotc.binformat.Symbol.setNativeSymbol:(Ljdk/tools/jaotc/binformat/NativeSymbol;)V
end local 5 end local 4 end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 symbols Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;
1 8 1 symtab Ljdk/tools/jaotc/binformat/pecoff/PECoffSymtab;
3 6 2 symbol Ljdk/tools/jaotc/binformat/Symbol;
4 6 4 secHdrIndex I
5 6 5 pecoffSymbol Ljdk/tools/jaotc/binformat/pecoff/PECoffSymbol;
Signature: (Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;)Ljdk/tools/jaotc/binformat/pecoff/PECoffSymtab;
MethodParameters:
Name Flags
symbols
private static byte getPECoffTypeOf(jdk.tools.jaotc.binformat.Symbol);
descriptor: (Ljdk/tools/jaotc/binformat/Symbol;)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.tools.jaotc.binformat.Symbol.getKind:()Ljdk/tools/jaotc/binformat/Symbol$Kind;
astore 1
start local 1 1: aload 1
getstatic jdk.tools.jaotc.binformat.Symbol$Kind.NATIVE_FUNCTION:Ljdk/tools/jaotc/binformat/Symbol$Kind;
if_acmpeq 2
aload 1
getstatic jdk.tools.jaotc.binformat.Symbol$Kind.JAVA_FUNCTION:Ljdk/tools/jaotc/binformat/Symbol$Kind;
if_acmpne 3
2: StackMap locals: jdk.tools.jaotc.binformat.Symbol$Kind
StackMap stack:
bipush 32
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 sym Ljdk/tools/jaotc/binformat/Symbol;
1 4 1 kind Ljdk/tools/jaotc/binformat/Symbol$Kind;
MethodParameters:
Name Flags
sym
private static byte getPECoffClassOf(jdk.tools.jaotc.binformat.Symbol);
descriptor: (Ljdk/tools/jaotc/binformat/Symbol;)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.tools.jaotc.binformat.Symbol.getBinding:()Ljdk/tools/jaotc/binformat/Symbol$Binding;
astore 1
start local 1 1: aload 1
getstatic jdk.tools.jaotc.binformat.Symbol$Binding.GLOBAL:Ljdk/tools/jaotc/binformat/Symbol$Binding;
if_acmpne 3
2: iconst_2
ireturn
3: StackMap locals: jdk.tools.jaotc.binformat.Symbol$Binding
StackMap stack:
iconst_3
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 sym Ljdk/tools/jaotc/binformat/Symbol;
1 4 1 binding Ljdk/tools/jaotc/binformat/Symbol$Binding;
MethodParameters:
Name Flags
sym
private jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable createPECoffRelocTable(java.util.ArrayList<jdk.tools.jaotc.binformat.pecoff.PECoffSection>, java.util.Map<jdk.tools.jaotc.binformat.Symbol, java.util.List<jdk.tools.jaotc.binformat.Relocation>>);
descriptor: (Ljava/util/ArrayList;Ljava/util/Map;)Ljdk/tools/jaotc/binformat/pecoff/PECoffRelocTable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable
dup
aload 1
invokevirtual java.util.ArrayList.size:()I
invokespecial jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable.<init>:(I)V
astore 3
start local 3 1: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject java.util.ArrayList java.util.Map jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 3: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
astore 6
start local 6 4: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.Symbol
astore 7
start local 7 5: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 8
StackMap locals: jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject java.util.ArrayList java.util.Map jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable java.util.Map$Entry java.util.Iterator java.util.List jdk.tools.jaotc.binformat.Symbol top java.util.Iterator
StackMap stack:
6: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.Relocation
astore 8
start local 8 7: aload 7
aload 8
aload 3
invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createRelocation:(Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;Ljdk/tools/jaotc/binformat/pecoff/PECoffRelocTable;)V
end local 8 8: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 7 end local 6 end local 4 9: StackMap locals: jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject java.util.ArrayList java.util.Map jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: aload 0
getfield jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getUniqueRelocationTable:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 13
StackMap locals:
StackMap stack:
11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 12: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.Symbol
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.Relocation
aload 3
invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createRelocation:(Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;Ljdk/tools/jaotc/binformat/pecoff/PECoffRelocTable;)V
end local 4 13: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject;
0 15 1 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;
0 15 2 relocationTable Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
1 15 3 pecoffRelocTable Ljdk/tools/jaotc/binformat/pecoff/PECoffRelocTable;
3 9 4 entry Ljava/util/Map$Entry<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
4 9 6 relocs Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;
5 9 7 symbol Ljdk/tools/jaotc/binformat/Symbol;
7 8 8 reloc Ljdk/tools/jaotc/binformat/Relocation;
12 13 4 entry Ljava/util/Map$Entry<Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;>;
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/pecoff/PECoffSection;>;Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;)Ljdk/tools/jaotc/binformat/pecoff/PECoffRelocTable;
MethodParameters:
Name Flags
sections
relocationTable
private static void createRelocation(jdk.tools.jaotc.binformat.Symbol, jdk.tools.jaotc.binformat.Relocation, jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable);
descriptor: (Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;Ljdk/tools/jaotc/binformat/pecoff/PECoffRelocTable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.tools.jaotc.binformat.Relocation.getType:()Ljdk/tools/jaotc/binformat/Relocation$RelocType;
astore 3
start local 3 1: aload 3
invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.getPECoffRelocationType:(Ljdk/tools/jaotc/binformat/Relocation$RelocType;)I
istore 4
start local 4 2: aload 0
invokevirtual jdk.tools.jaotc.binformat.Symbol.getNativeSymbol:()Ljdk/tools/jaotc/binformat/NativeSymbol;
checkcast jdk.tools.jaotc.binformat.pecoff.PECoffSymbol
astore 5
start local 5 3: aload 5
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffSymbol.getIndex:()I
istore 6
start local 6 4: aload 1
invokevirtual jdk.tools.jaotc.binformat.Relocation.getSection:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getSectionId:()I
istore 7
start local 7 5: aload 1
invokevirtual jdk.tools.jaotc.binformat.Relocation.getOffset:()I
istore 8
start local 8 6: iconst_0
istore 9
start local 9 7: invokestatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.$SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType:()[I
aload 3
invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
iaload
tableswitch { // 2 - 8
2: 11
3: 8
4: 8
5: 8
6: 12
7: 15
8: 12
default: 16
}
8: StackMap locals: jdk.tools.jaotc.binformat.Symbol jdk.tools.jaotc.binformat.Relocation jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable jdk.tools.jaotc.binformat.Relocation$RelocType int jdk.tools.jaotc.binformat.pecoff.PECoffSymbol int int int int
StackMap stack:
bipush -4
istore 9
9: iload 8
aload 1
invokevirtual jdk.tools.jaotc.binformat.Relocation.getSize:()I
iadd
iload 9
iadd
istore 8
10: goto 17
11: StackMap locals:
StackMap stack:
return
12: StackMap locals:
StackMap stack:
bipush -4
istore 9
13: iload 8
iload 9
iadd
istore 8
14: goto 17
15: StackMap locals:
StackMap stack:
goto 17
16: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Unhandled relocation type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 2
iload 7
iload 8
iload 6
iload 4
invokevirtual jdk.tools.jaotc.binformat.pecoff.PECoffRelocTable.createRelocationEntry:(IIII)V
18: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 symbol Ljdk/tools/jaotc/binformat/Symbol;
0 19 1 reloc Ljdk/tools/jaotc/binformat/Relocation;
0 19 2 pecoffRelocTable Ljdk/tools/jaotc/binformat/pecoff/PECoffRelocTable;
1 19 3 relocType Ljdk/tools/jaotc/binformat/Relocation$RelocType;
2 19 4 pecoffRelocType I
3 19 5 sym Ljdk/tools/jaotc/binformat/pecoff/PECoffSymbol;
4 19 6 symno I
5 19 7 sectindex I
6 19 8 offset I
7 19 9 addend I
MethodParameters:
Name Flags
symbol
reloc
pecoffRelocTable
private static int getPECoffRelocationType(jdk.tools.jaotc.binformat.Relocation$RelocType);
descriptor: (Ljdk/tools/jaotc/binformat/Relocation$RelocType;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: invokestatic jdk.tools.jaotc.binformat.pecoff.PECoffTargetInfo.getPECoffArch:()C
tableswitch { // 34404 - 34404
34404: 2
default: 20
}
2: StackMap locals: int
StackMap stack:
aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.JAVA_CALL_DIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
if_acmpeq 4
3: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.FOREIGN_CALL_INDIRECT_GOT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
if_acmpne 6
4: StackMap locals:
StackMap stack:
iconst_4
istore 1
5: goto 21
StackMap locals:
StackMap stack:
6: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.STUB_CALL_DIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
if_acmpne 9
7: iconst_4
istore 1
8: goto 21
StackMap locals:
StackMap stack:
9: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.JAVA_CALL_INDIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
if_acmpne 12
10: iconst_0
istore 1
11: goto 21
StackMap locals:
StackMap stack:
12: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.METASPACE_GOT_REFERENCE:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
if_acmpeq 14
13: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.EXTERNAL_PLT_TO_GOT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
if_acmpne 16
14: StackMap locals:
StackMap stack:
iconst_4
istore 1
15: goto 21
StackMap locals:
StackMap stack:
16: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.EXTERNAL_GOT_TO_PLT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
if_acmpne 19
17: iconst_1
istore 1
18: goto 21
19: StackMap locals:
StackMap stack:
getstatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.$assertionsDisabled:Z
ifne 21
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unhandled relocation type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
20: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Relocation Type mapping: Unhandled architecture"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 relocType Ljdk/tools/jaotc/binformat/Relocation$RelocType;
1 22 1 pecoffRelocType I
MethodParameters:
Name Flags
relocType
static int[] $SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.$SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.tools.jaotc.binformat.Relocation$RelocType.values:()[Ljdk/tools/jaotc/binformat/Relocation$RelocType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.EXTERNAL_GOT_TO_PLT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
bipush 7
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.EXTERNAL_PLT_TO_GOT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
bipush 8
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.FOREIGN_CALL_INDIRECT_GOT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.JAVA_CALL_DIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.JAVA_CALL_INDIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
iconst_2
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.METASPACE_GOT_REFERENCE:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
bipush 6
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.STUB_CALL_DIRECT:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.UNDEFINED:Ljdk/tools/jaotc/binformat/Relocation$RelocType;
invokevirtual jdk.tools.jaotc.binformat.Relocation$RelocType.ordinal:()I
iconst_1
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
dup
putstatic jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.$SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
}
SourceFile: "JPECoffRelocObject.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public final RelocType = jdk.tools.jaotc.binformat.Relocation$RelocType of jdk.tools.jaotc.binformat.Relocation
public final Binding = jdk.tools.jaotc.binformat.Symbol$Binding of jdk.tools.jaotc.binformat.Symbol
public final Kind = jdk.tools.jaotc.binformat.Symbol$Kind of jdk.tools.jaotc.binformat.Symbol
final IMAGE_FILE_HEADER = jdk.tools.jaotc.binformat.pecoff.PECoff$IMAGE_FILE_HEADER of jdk.tools.jaotc.binformat.pecoff.PECoff
final IMAGE_RELOCATION = jdk.tools.jaotc.binformat.pecoff.PECoff$IMAGE_RELOCATION of jdk.tools.jaotc.binformat.pecoff.PECoff
final IMAGE_SECTION_HEADER = jdk.tools.jaotc.binformat.pecoff.PECoff$IMAGE_SECTION_HEADER of jdk.tools.jaotc.binformat.pecoff.PECoff
final IMAGE_SYMBOL = jdk.tools.jaotc.binformat.pecoff.PECoff$IMAGE_SYMBOL of jdk.tools.jaotc.binformat.pecoff.PECoff