public class jdk.tools.jaotc.binformat.elf.JELFRelocObject
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.tools.jaotc.binformat.elf.JELFRelocObject
super_class: java.lang.Object
{
private final jdk.tools.jaotc.binformat.BinaryContainer binContainer;
descriptor: Ljdk/tools/jaotc/binformat/BinaryContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.elf.ElfContainer elfContainer;
descriptor: Ljdk/tools/jaotc/binformat/elf/ElfContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int segmentSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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/elf/JELFRelocObject;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.tools.jaotc.binformat.BinaryContainer, java.lang.String);
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.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
2: aload 0
new jdk.tools.jaotc.binformat.elf.ElfContainer
dup
aload 2
invokespecial jdk.tools.jaotc.binformat.elf.ElfContainer.<init>:(Ljava/lang/String;)V
putfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/binformat/elf/ElfContainer;
3: aload 0
aload 1
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeSegmentSize:()I
putfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.segmentSize: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/elf/JELFRelocObject;
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.elf.ElfSection createByteSection(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, java.lang.String, byte[], boolean, int, int, int);
descriptor: (Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new jdk.tools.jaotc.binformat.elf.ElfSection
dup
aload 1
aload 2
iload 5
iload 6
1: iload 3
iload 4
aload 0
invokevirtual java.util.ArrayList.size:()I
2: invokespecial jdk.tools.jaotc.binformat.elf.ElfSection.<init>:(Ljava/lang/String;[BIIZII)V
astore 7
start local 7 3: aload 0
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: aload 7
areturn
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 5 0 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
0 5 1 sectName Ljava/lang/String;
0 5 2 scnData [B
0 5 3 hasRelocs Z
0 5 4 align I
0 5 5 scnFlags I
0 5 6 scnType I
3 5 7 sect Ljdk/tools/jaotc/binformat/elf/ElfSection;
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
MethodParameters:
Name Flags
sections
sectName
scnData
hasRelocs
align
scnFlags
scnType
private void createByteSection(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, jdk.tools.jaotc.binformat.ByteContainer, );
descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.hasRelocations:()Z
istore 5
start local 5 1: aload 2
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteArray:()[B
astore 6
start local 6 2: iconst_1
istore 7
start local 7 3: iload 5
ifeq 4
iconst_0
goto 5
StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.ArrayList jdk.tools.jaotc.binformat.ByteContainer int top int byte[] int
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 8
start local 8 6: iload 8
ifeq 16
7: aload 6
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 13
StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.ArrayList jdk.tools.jaotc.binformat.ByteContainer int top int byte[] int int top int int byte[]
StackMap stack:
8: aload 12
iload 10
baload
istore 9
start local 9 9: iload 9
ifeq 12
10: iconst_0
istore 8
11: goto 14
end local 9 12: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
13: iload 10
iload 11
if_icmplt 8
14: StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.ArrayList jdk.tools.jaotc.binformat.ByteContainer int top int byte[] int int
StackMap stack:
iload 8
ifeq 16
15: bipush 8
istore 7
16: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getContainerName:()Ljava/lang/String;
17: aload 6
iload 5
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.segmentSize:I
18: iload 3
iload 7
19: invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
astore 4
start local 4 20: aload 2
aload 4
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSectionId:()I
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.setSectionId:(I)V
21: 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 22 0 this Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
0 22 1 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
0 22 2 c Ljdk/tools/jaotc/binformat/ByteContainer;
0 22 3 scnFlags I
20 22 4 sect Ljdk/tools/jaotc/binformat/elf/ElfSection;
1 22 5 hasRelocs Z
2 22 6 scnData [B
3 22 7 scnType I
6 22 8 zeros Z
9 12 9 b B
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljdk/tools/jaotc/binformat/ByteContainer;I)V
MethodParameters:
Name Flags
sections
c
scnFlags
private void createCodeSection(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, jdk.tools.jaotc.binformat.CodeContainer);
descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/CodeContainer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
bipush 6
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
0 2 1 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
0 2 2 c Ljdk/tools/jaotc/binformat/CodeContainer;
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljdk/tools/jaotc/binformat/CodeContainer;)V
MethodParameters:
Name Flags
sections
c
private void createReadOnlySection(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, jdk.tools.jaotc.binformat.ReadOnlyDataContainer);
descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_2
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
0 2 1 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
0 2 2 c Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
MethodParameters:
Name Flags
sections
c
private void createReadWriteSection(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, jdk.tools.jaotc.binformat.ByteContainer);
descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_3
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
0 2 1 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
0 2 2 c Ljdk/tools/jaotc/binformat/ByteContainer;
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljdk/tools/jaotc/binformat/ByteContainer;)V
MethodParameters:
Name Flags
sections
c
public void createELFRelocObject(java.util.Map<jdk.tools.jaotc.binformat.Symbol, java.util.List<jdk.tools.jaotc.binformat.Relocation>>, java.util.Collection<jdk.tools.jaotc.binformat.Symbol>);
descriptor: (Ljava/util/Map;Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: new jdk.tools.jaotc.binformat.elf.ElfHeader
dup
invokespecial jdk.tools.jaotc.binformat.elf.ElfHeader.<init>:()V
astore 3
start local 3 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 2: aload 4
aconst_null
aconst_null
iconst_0
iconst_1
iconst_0
iconst_0
invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
pop
3: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeContainer:()Ljdk/tools/jaotc/binformat/CodeContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createCodeSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/CodeContainer;)V
4: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetaspaceNamesContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
5: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
6: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodsOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
7: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesDependenciesContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
8: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodMetadataContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
9: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getStubsOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
10: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getHeaderContainer:()Ljdk/tools/jaotc/binformat/HeaderContainer;
invokevirtual jdk.tools.jaotc.binformat.HeaderContainer.getContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
11: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeSegmentsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
12: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getConstantDataContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
13: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getConfigContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadOnlySection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
14: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
15: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCountersGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
16: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetadataGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
17: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getOopGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
18: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodStateContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
19: aload 0
aload 4
aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getExtLinkageGOTContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createReadWriteSection:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/ByteContainer;)V
20: aload 2
invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createELFSymbolTables:(Ljava/util/Collection;)Ljdk/tools/jaotc/binformat/elf/ElfSymtab;
astore 5
start local 5 21: aload 4
ldc ".strtab"
22: aload 5
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSymtab.getStrtabArray:()[B
23: iconst_0
iconst_1
iconst_0
24: iconst_3
25: invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
astore 6
start local 6 26: aload 4
ldc ".symtab"
27: aload 5
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSymtab.getSymtabArray:()[B
28: iconst_0
bipush 8
iconst_0
29: iconst_2
30: invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
astore 7
start local 7 31: aload 7
aload 6
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSectionId:()I
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.setLink:(I)V
32: aload 7
aload 5
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSymtab.getNumLocalSyms:()I
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.setInfo:(I)V
33: aload 0
aload 4
aload 1
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createElfRelocTable:(Ljava/util/ArrayList;Ljava/util/Map;)Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
astore 8
start local 8 34: aload 4
aload 8
aload 7
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSectionId:()I
invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createElfRelocSections:(Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;I)V
35: aload 4
ldc ".shstrtab"
36: aconst_null
iconst_0
iconst_1
iconst_0
37: iconst_3
38: invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
astore 9
start local 9 39: aload 3
aload 9
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSectionId:()I
invokevirtual jdk.tools.jaotc.binformat.elf.ElfHeader.setSectionStrNdx:(I)V
40: getstatic jdk.tools.jaotc.binformat.elf.Elf$Elf64_Ehdr.totalsize:I
istore 10
start local 10 41: iload 10
aload 4
iconst_1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.elf.ElfSection
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataAlign:()I
iconst_1
isub
iadd
42: aload 4
iconst_1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.elf.ElfSection
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataAlign:()I
iconst_1
isub
iconst_m1
ixor
43: iand
istore 10
44: iconst_1
istore 11
start local 11 45: goto 53
46: StackMap locals: jdk.tools.jaotc.binformat.elf.JELFRelocObject java.util.Map java.util.Collection jdk.tools.jaotc.binformat.elf.ElfHeader java.util.ArrayList jdk.tools.jaotc.binformat.elf.ElfSymtab jdk.tools.jaotc.binformat.elf.ElfSection jdk.tools.jaotc.binformat.elf.ElfSection jdk.tools.jaotc.binformat.elf.ElfRelocTable jdk.tools.jaotc.binformat.elf.ElfSection int int
StackMap stack:
aload 4
iload 11
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.elf.ElfSection
astore 12
start local 12 47: iload 10
aload 12
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataAlign:()I
iconst_1
isub
iadd
48: aload 12
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataAlign:()I
iconst_1
isub
iconst_m1
ixor
49: iand
istore 10
50: aload 12
iload 10
i2l
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.setOffset:(J)V
51: iload 10
i2l
aload 12
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSize:()J
ladd
l2i
istore 10
end local 12 52: iinc 11 1
StackMap locals:
StackMap stack:
53: iload 11
aload 4
invokevirtual java.util.ArrayList.size:()I
if_icmplt 46
end local 11 54: iload 10
invokestatic jdk.tools.jaotc.binformat.elf.ElfSection.getShdrAlign:()I
iconst_1
isub
iadd
55: invokestatic jdk.tools.jaotc.binformat.elf.ElfSection.getShdrAlign:()I
iconst_1
isub
iconst_m1
ixor
56: iand
istore 10
57: aload 3
iload 10
invokevirtual jdk.tools.jaotc.binformat.elf.ElfHeader.setSectionOff:(I)V
58: aload 3
aload 4
invokevirtual java.util.ArrayList.size:()I
invokevirtual jdk.tools.jaotc.binformat.elf.ElfHeader.setSectionNum:(I)V
59: aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/binformat/elf/ElfContainer;
aload 3
invokevirtual jdk.tools.jaotc.binformat.elf.ElfHeader.getArray:()[B
invokevirtual jdk.tools.jaotc.binformat.elf.ElfContainer.writeBytes:([B)V
60: iconst_1
istore 11
start local 11 61: goto 65
62: StackMap locals:
StackMap stack:
aload 4
iload 11
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.elf.ElfSection
astore 12
start local 12 63: aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/binformat/elf/ElfContainer;
aload 12
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataArray:()[B
aload 12
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getDataAlign:()I
invokevirtual jdk.tools.jaotc.binformat.elf.ElfContainer.writeBytes:([BI)V
end local 12 64: iinc 11 1
StackMap locals:
StackMap stack:
65: iload 11
aload 4
invokevirtual java.util.ArrayList.size:()I
if_icmplt 62
end local 11 66: iconst_0
istore 11
start local 11 67: goto 71
68: StackMap locals:
StackMap stack:
aload 4
iload 11
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.elf.ElfSection
astore 12
start local 12 69: aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/binformat/elf/ElfContainer;
aload 12
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getArray:()[B
invokestatic jdk.tools.jaotc.binformat.elf.ElfSection.getShdrAlign:()I
invokevirtual jdk.tools.jaotc.binformat.elf.ElfContainer.writeBytes:([BI)V
end local 12 70: iinc 11 1
StackMap locals:
StackMap stack:
71: iload 11
aload 4
invokevirtual java.util.ArrayList.size:()I
if_icmplt 68
end local 11 72: aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.elfContainer:Ljdk/tools/jaotc/binformat/elf/ElfContainer;
invokevirtual jdk.tools.jaotc.binformat.elf.ElfContainer.close:()V
73: return
end local 10 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 74 0 this Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
0 74 1 relocationTable Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
0 74 2 symbols Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;
1 74 3 eh Ljdk/tools/jaotc/binformat/elf/ElfHeader;
2 74 4 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
21 74 5 symtab Ljdk/tools/jaotc/binformat/elf/ElfSymtab;
26 74 6 strTabSection Ljdk/tools/jaotc/binformat/elf/ElfSection;
31 74 7 symTabSection Ljdk/tools/jaotc/binformat/elf/ElfSection;
34 74 8 elfRelocTable Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
39 74 9 shStrTabSection Ljdk/tools/jaotc/binformat/elf/ElfSection;
41 74 10 file_offset I
45 54 11 i I
47 52 12 sect Ljdk/tools/jaotc/binformat/elf/ElfSection;
61 66 11 i I
63 64 12 sect Ljdk/tools/jaotc/binformat/elf/ElfSection;
67 72 11 i I
69 70 12 sect Ljdk/tools/jaotc/binformat/elf/ElfSection;
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;)V
MethodParameters:
Name Flags
relocationTable
symbols
private static jdk.tools.jaotc.binformat.elf.ElfSymtab createELFSymbolTables(java.util.Collection<jdk.tools.jaotc.binformat.Symbol>);
descriptor: (Ljava/util/Collection;)Ljdk/tools/jaotc/binformat/elf/ElfSymtab;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=6, args_size=1
start local 0 0: new jdk.tools.jaotc.binformat.elf.ElfSymtab
dup
invokespecial jdk.tools.jaotc.binformat.elf.ElfSymtab.<init>:()V
astore 1
start local 1 1: aload 1
ldc ""
iconst_0
iconst_0
iconst_0
lconst_0
lconst_0
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSymtab.addSymbolEntry:(Ljava/lang/String;BBBJJ)Ljdk/tools/jaotc/binformat/elf/ElfSymbol;
pop
2: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: java.util.Collection jdk.tools.jaotc.binformat.elf.ElfSymtab top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.Symbol
astore 2
start local 2 4: 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 5: aload 1
aload 2
invokevirtual jdk.tools.jaotc.binformat.Symbol.getName:()Ljava/lang/String;
aload 2
invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.getELFTypeOf:(Ljdk/tools/jaotc/binformat/Symbol;)B
aload 2
invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.getELFBindOf:(Ljdk/tools/jaotc/binformat/Symbol;)B
iload 4
i2b
aload 2
invokevirtual jdk.tools.jaotc.binformat.Symbol.getOffset:()I
i2l
aload 2
invokevirtual jdk.tools.jaotc.binformat.Symbol.getSize:()I
i2l
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSymtab.addSymbolEntry:(Ljava/lang/String;BBBJJ)Ljdk/tools/jaotc/binformat/elf/ElfSymbol;
astore 5
start local 5 6: 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 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 symbols Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;
1 9 1 symtab Ljdk/tools/jaotc/binformat/elf/ElfSymtab;
4 7 2 symbol Ljdk/tools/jaotc/binformat/Symbol;
5 7 4 secHdrIndex I
6 7 5 elfSymbol Ljdk/tools/jaotc/binformat/elf/ElfSymbol;
Signature: (Ljava/util/Collection<Ljdk/tools/jaotc/binformat/Symbol;>;)Ljdk/tools/jaotc/binformat/elf/ElfSymtab;
MethodParameters:
Name Flags
symbols
private static byte getELFTypeOf(jdk.tools.jaotc.binformat.Symbol);
descriptor: (Ljdk/tools/jaotc/binformat/Symbol;)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 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:
iconst_2
ireturn
3: StackMap locals:
StackMap stack:
aload 1
getstatic jdk.tools.jaotc.binformat.Symbol$Kind.OBJECT:Ljdk/tools/jaotc/binformat/Symbol$Kind;
if_acmpne 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 sym Ljdk/tools/jaotc/binformat/Symbol;
1 6 1 kind Ljdk/tools/jaotc/binformat/Symbol$Kind;
MethodParameters:
Name Flags
sym
private static byte getELFBindOf(jdk.tools.jaotc.binformat.Symbol);
descriptor: (Ljdk/tools/jaotc/binformat/Symbol;)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 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_1
ireturn
3: StackMap locals: jdk.tools.jaotc.binformat.Symbol$Binding
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 binding Ljdk/tools/jaotc/binformat/Symbol$Binding;
MethodParameters:
Name Flags
sym
private jdk.tools.jaotc.binformat.elf.ElfRelocTable createElfRelocTable(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, java.util.Map<jdk.tools.jaotc.binformat.Symbol, java.util.List<jdk.tools.jaotc.binformat.Relocation>>);
descriptor: (Ljava/util/ArrayList;Ljava/util/Map;)Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new jdk.tools.jaotc.binformat.elf.ElfRelocTable
dup
aload 1
invokevirtual java.util.ArrayList.size:()I
invokespecial jdk.tools.jaotc.binformat.elf.ElfRelocTable.<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.elf.JELFRelocObject java.util.ArrayList java.util.Map jdk.tools.jaotc.binformat.elf.ElfRelocTable top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
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.elf.JELFRelocObject java.util.ArrayList java.util.Map jdk.tools.jaotc.binformat.elf.ElfRelocTable java.util.Map$Entry java.util.Iterator java.util.List jdk.tools.jaotc.binformat.Symbol top java.util.Iterator
StackMap stack:
6: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.Relocation
astore 8
start local 8 7: aload 7
aload 8
aload 3
invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createRelocation:(Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;)V
end local 8 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.elf.JELFRelocObject java.util.ArrayList java.util.Map jdk.tools.jaotc.binformat.elf.ElfRelocTable top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: aload 0
getfield jdk.tools.jaotc.binformat.elf.JELFRelocObject.binContainer:Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getUniqueRelocationTable:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 13
StackMap locals:
StackMap stack:
11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
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.elf.JELFRelocObject.createRelocation:(Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;)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/elf/JELFRelocObject;
0 15 1 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
0 15 2 relocationTable Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
1 15 3 elfRelocTable Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
3 9 4 entry Ljava/util/Map$Entry<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
4 9 6 relocs Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;
5 9 7 symbol Ljdk/tools/jaotc/binformat/Symbol;
7 8 8 reloc Ljdk/tools/jaotc/binformat/Relocation;
12 13 4 entry Ljava/util/Map$Entry<Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;>;
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;)Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
MethodParameters:
Name Flags
sections
relocationTable
private static void createRelocation(jdk.tools.jaotc.binformat.Symbol, jdk.tools.jaotc.binformat.Relocation, jdk.tools.jaotc.binformat.elf.ElfRelocTable);
descriptor: (Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, 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.elf.JELFRelocObject.getELFRelocationType:(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.elf.ElfSymbol
astore 5
start local 5 3: aload 5
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSymbol.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.elf.JELFRelocObject.$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: 11
7: 14
8: 11
default: 15
}
8: StackMap locals: jdk.tools.jaotc.binformat.Symbol jdk.tools.jaotc.binformat.Relocation jdk.tools.jaotc.binformat.elf.ElfRelocTable jdk.tools.jaotc.binformat.Relocation$RelocType int jdk.tools.jaotc.binformat.elf.ElfSymbol 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 16
11: StackMap locals:
StackMap stack:
bipush -4
istore 9
12: iload 8
iload 9
iadd
istore 8
13: goto 16
14: StackMap locals:
StackMap stack:
goto 16
15: 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
16: StackMap locals:
StackMap stack:
aload 2
iload 7
iload 8
iload 6
iload 4
iload 9
invokevirtual jdk.tools.jaotc.binformat.elf.ElfRelocTable.createRelocationEntry:(IIIII)V
17: 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 18 0 symbol Ljdk/tools/jaotc/binformat/Symbol;
0 18 1 reloc Ljdk/tools/jaotc/binformat/Relocation;
0 18 2 elfRelocTable Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
1 18 3 relocType Ljdk/tools/jaotc/binformat/Relocation$RelocType;
2 18 4 elfRelocType I
3 18 5 sym Ljdk/tools/jaotc/binformat/elf/ElfSymbol;
4 18 6 symno I
5 18 7 sectindex I
6 18 8 offset I
7 18 9 addend I
MethodParameters:
Name Flags
symbol
reloc
elfRelocTable
private static int getELFRelocationType(jdk.tools.jaotc.binformat.Relocation$RelocType);
descriptor: (Ljdk/tools/jaotc/binformat/Relocation$RelocType;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: invokestatic jdk.tools.jaotc.binformat.elf.ElfTargetInfo.getElfArch:()C
tableswitch { // 62 - 62
62: 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_2
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_2
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.elf.JELFRelocObject.$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 elfRelocType I
MethodParameters:
Name Flags
relocType
private static void createElfRelocSections(java.util.ArrayList<jdk.tools.jaotc.binformat.elf.ElfSection>, jdk.tools.jaotc.binformat.elf.ElfRelocTable, );
descriptor: (Ljava/util/ArrayList;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 13
3: StackMap locals: int int
StackMap stack:
aload 1
iload 4
invokevirtual jdk.tools.jaotc.binformat.elf.ElfRelocTable.getNumRelocs:(I)I
ifle 12
4: aload 0
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.elf.ElfSection
astore 5
start local 5 5: new java.lang.StringBuilder
dup
ldc ".rela"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 6: aload 0
aload 6
7: aload 1
iload 4
invokevirtual jdk.tools.jaotc.binformat.elf.ElfRelocTable.getRelocData:(I)[B
8: iconst_0
bipush 8
iconst_0
iconst_4
9: invokestatic jdk.tools.jaotc.binformat.elf.JELFRelocObject.createByteSection:(Ljava/util/ArrayList;Ljava/lang/String;[BZIII)Ljdk/tools/jaotc/binformat/elf/ElfSection;
astore 7
start local 7 10: aload 7
iload 2
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.setLink:(I)V
11: aload 7
aload 5
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.getSectionId:()I
invokevirtual jdk.tools.jaotc.binformat.elf.ElfSection.setInfo:(I)V
end local 7 end local 6 end local 5 12: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 3
if_icmplt 3
end local 4 14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 sections Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;
0 15 1 elfRelocTable Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;
0 15 2 symtabsectidx I
1 15 3 count I
2 14 4 i I
5 12 5 sect Ljdk/tools/jaotc/binformat/elf/ElfSection;
6 12 6 relname Ljava/lang/String;
10 12 7 relocSection Ljdk/tools/jaotc/binformat/elf/ElfSection;
Signature: (Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/elf/ElfSection;>;Ljdk/tools/jaotc/binformat/elf/ElfRelocTable;I)V
MethodParameters:
Name Flags
sections
elfRelocTable
symtabsectidx
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.elf.JELFRelocObject.$SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.tools.jaotc.binformat.Relocation$RelocType.values:()[Ljdk/tools/jaotc/binformat/Relocation$RelocType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.tools.jaotc.binformat.Relocation$RelocType.EXTERNAL_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.elf.JELFRelocObject.$SWITCH_TABLE$jdk$tools$jaotc$binformat$Relocation$RelocType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
}
SourceFile: "JELFRelocObject.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 Elf64_Ehdr = jdk.tools.jaotc.binformat.elf.Elf$Elf64_Ehdr of jdk.tools.jaotc.binformat.elf.Elf