public abstract class com.oracle.objectfile.ObjectFile
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.objectfile.ObjectFile
super_class: java.lang.Object
{
private final int pageSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final com.oracle.objectfile.ElementList elements;
descriptor: Lcom/oracle/objectfile/ElementList;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.util.Map<com.oracle.objectfile.ObjectFile$Element, java.lang.String> nameForElement;
descriptor: Ljava/util/Map;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Ljava/lang/String;>;
private final java.util.TreeSet<com.oracle.objectfile.BuildDependency> allDependencies;
descriptor: Ljava/util/TreeSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/TreeSet<Lcom/oracle/objectfile/BuildDependency;>;
private final java.util.HashSet<com.oracle.objectfile.LayoutDecision> allDecisions;
descriptor: Ljava/util/HashSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/HashSet<Lcom/oracle/objectfile/LayoutDecision;>;
private final java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap> decisionsByElement;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
private final java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap> decisionsTaken;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
private final java.util.Map<com.oracle.objectfile.ObjectFile$Element, java.util.List<com.oracle.objectfile.BuildDependency>> dependenciesByDependingElement;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Ljava/util/List<Lcom/oracle/objectfile/BuildDependency;>;>;
private final java.util.Map<com.oracle.objectfile.ObjectFile$Element, java.util.List<com.oracle.objectfile.BuildDependency>> dependenciesByDependedOnElement;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Ljava/util/List<Lcom/oracle/objectfile/BuildDependency;>;>;
private org.graalvm.compiler.debug.DebugContext debugContext;
descriptor: Lorg/graalvm/compiler/debug/DebugContext;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$objectfile$ObjectFile$Format;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$objectfile$LayoutDecision$Kind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/objectfile/ObjectFile;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public abstract com.oracle.objectfile.ObjectFile$Format getFormat();
descriptor: ()Lcom/oracle/objectfile/ObjectFile$Format;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.createElementList:()Lcom/oracle/objectfile/ElementList;
putfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.objectfile.ObjectFile.nameForElement:Ljava/util/Map;
3: aload 0
new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
putfield com.oracle.objectfile.ObjectFile.allDependencies:Ljava/util/TreeSet;
4: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
5: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield com.oracle.objectfile.ObjectFile.decisionsByElement:Ljava/util/Map;
6: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
7: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield com.oracle.objectfile.ObjectFile.dependenciesByDependingElement:Ljava/util/Map;
8: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield com.oracle.objectfile.ObjectFile.dependenciesByDependedOnElement:Ljava/util/Map;
9: aload 0
aconst_null
putfield com.oracle.objectfile.ObjectFile.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
10: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 11
iload 1
ifgt 11
new java.lang.AssertionError
dup
ldc "invalid page size"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
11: StackMap locals: com.oracle.objectfile.ObjectFile int
StackMap stack:
aload 0
iload 1
putfield com.oracle.objectfile.ObjectFile.pageSize:I
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/objectfile/ObjectFile;
0 13 1 pageSize I
MethodParameters:
Name Flags
pageSize
public static <E extends java.lang.Enum<E> extends com.oracle.objectfile.ObjectFile$ValueEnum> long flagSetAsLong(java.util.EnumSet<E>);
descriptor: (Ljava/util/EnumSet;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: java.util.EnumSet long top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Enum
astore 3
start local 3 3: lload 1
aload 3
checkcast com.oracle.objectfile.ObjectFile$ValueEnum
invokeinterface com.oracle.objectfile.ObjectFile$ValueEnum.value:()J
lor
lstore 1
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 flags Ljava/util/EnumSet<TE;>;
1 6 1 working J
3 4 3 f TE;
Signature: <E:Ljava/lang/Enum<TE;>;:Lcom/oracle/objectfile/ObjectFile$ValueEnum;>(Ljava/util/EnumSet<TE;>;)J
MethodParameters:
Name Flags
flags
public static <E extends java.lang.Enum<E> extends com.oracle.objectfile.ObjectFile$ValueEnum> java.util.EnumSet<E> flagSetFromLong(long, java.lang.Class<E>);
descriptor: (JLjava/lang/Class;)Ljava/util/EnumSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 2 0: aload 2
invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
astore 3
start local 3 1: aload 2
invokestatic java.util.EnumSet.allOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: long java.lang.Class java.util.EnumSet top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Enum
astore 4
start local 4 3: lload 0
aload 4
checkcast com.oracle.objectfile.ObjectFile$ValueEnum
invokeinterface com.oracle.objectfile.ObjectFile$ValueEnum.value:()J
land
lconst_0
lcmp
ifeq 5
4: aload 3
aload 4
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 3
areturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 flags J
0 7 2 clazz Ljava/lang/Class<TE;>;
1 7 3 working Ljava/util/EnumSet<TE;>;
3 5 4 f TE;
Signature: <E:Ljava/lang/Enum<TE;>;:Lcom/oracle/objectfile/ObjectFile$ValueEnum;>(JLjava/lang/Class<TE;>;)Ljava/util/EnumSet<TE;>;
MethodParameters:
Name Flags
flags
clazz
public abstract java.nio.ByteOrder getByteOrder();
descriptor: ()Ljava/nio/ByteOrder;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract void setByteOrder(java.nio.ByteOrder);
descriptor: (Ljava/nio/ByteOrder;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
byteOrder
private static java.lang.String getHostOS();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=0
0: ldc "os.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: aload 0
ldc "Linux"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: ldc "Linux"
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
ldc "Mac OS X"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
4: ldc "Mac OS X"
areturn
5: StackMap locals:
StackMap stack:
aload 0
ldc "Windows"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 7
6: ldc "Windows"
areturn
7: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "unsupported OS: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 8 0 osName Ljava/lang/String;
protected int initialVaddr();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc 4194304
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/ObjectFile;
public static java.lang.String getFilenameSuffix();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: invokestatic com.oracle.objectfile.ObjectFile.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$Format:()[I
invokestatic com.oracle.objectfile.ObjectFile.getNativeFormat:()Lcom/oracle/objectfile/ObjectFile$Format;
invokevirtual com.oracle.objectfile.ObjectFile$Format.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 1
2: 1
3: 2
default: 3
}
1: StackMap locals:
StackMap stack:
ldc ".o"
areturn
2: StackMap locals:
StackMap stack:
ldc ".obj"
areturn
3: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "unreachable"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.objectfile.ObjectFile$Format getNativeFormat();
descriptor: ()Lcom/oracle/objectfile/ObjectFile$Format;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: invokestatic com.oracle.objectfile.ObjectFile.getHostOS:()Ljava/lang/String;
dup
astore 0
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-1280820637: 1
-187773587: 2
73425108: 3
default: 7
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 0
ldc "Windows"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 7
StackMap locals:
StackMap stack:
2: aload 0
ldc "Mac OS X"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 7
StackMap locals:
StackMap stack:
3: aload 0
ldc "Linux"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
goto 7
4: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile$Format.ELF:Lcom/oracle/objectfile/ObjectFile$Format;
areturn
5: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile$Format.MACH_O:Lcom/oracle/objectfile/ObjectFile$Format;
areturn
6: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile$Format.PECOFF:Lcom/oracle/objectfile/ObjectFile$Format;
areturn
7: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "unreachable"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
private static com.oracle.objectfile.ObjectFile getNativeObjectFile(int, boolean);
descriptor: (IZ)Lcom/oracle/objectfile/ObjectFile;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.objectfile.ObjectFile.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$Format:()[I
invokestatic com.oracle.objectfile.ObjectFile.getNativeFormat:()Lcom/oracle/objectfile/ObjectFile$Format;
invokevirtual com.oracle.objectfile.ObjectFile$Format.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 1
2: 2
3: 3
default: 4
}
1: StackMap locals:
StackMap stack:
new com.oracle.objectfile.elf.ELFObjectFile
dup
iload 0
iload 1
invokespecial com.oracle.objectfile.elf.ELFObjectFile.<init>:(IZ)V
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.objectfile.macho.MachOObjectFile
dup
iload 0
invokespecial com.oracle.objectfile.macho.MachOObjectFile.<init>:(I)V
areturn
3: StackMap locals:
StackMap stack:
new com.oracle.objectfile.pecoff.PECoffObjectFile
dup
iload 0
invokespecial com.oracle.objectfile.pecoff.PECoffObjectFile.<init>:(I)V
areturn
4: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "unreachable"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 pageSize I
0 5 1 runtimeDebugInfoGeneration Z
MethodParameters:
Name Flags
pageSize
runtimeDebugInfoGeneration
public static com.oracle.objectfile.ObjectFile getNativeObjectFile(int);
descriptor: (I)Lcom/oracle/objectfile/ObjectFile;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
invokestatic com.oracle.objectfile.ObjectFile.getNativeObjectFile:(IZ)Lcom/oracle/objectfile/ObjectFile;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pageSize I
MethodParameters:
Name Flags
pageSize
public static com.oracle.objectfile.ObjectFile createRuntimeDebugInfo(int);
descriptor: (I)Lcom/oracle/objectfile/ObjectFile;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
invokestatic com.oracle.objectfile.ObjectFile.getNativeObjectFile:(IZ)Lcom/oracle/objectfile/ObjectFile;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pageSize I
MethodParameters:
Name Flags
pageSize
protected abstract com.oracle.objectfile.ObjectFile$Segment getOrCreateSegment(java.lang.String, java.lang.String, boolean, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;ZZ)Lcom/oracle/objectfile/ObjectFile$Segment;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
maybeSegmentName
sectionName
writable
executable
public abstract com.oracle.objectfile.ObjectFile$Section newUserDefinedSection(com.oracle.objectfile.ObjectFile$Segment, java.lang.String, int, com.oracle.objectfile.ElementImpl);
descriptor: (Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;ILcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
segment
name
alignment
impl
public abstract com.oracle.objectfile.ObjectFile$Section newProgbitsSection(com.oracle.objectfile.ObjectFile$Segment, java.lang.String, int, boolean, boolean, com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl);
descriptor: (Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;IZZLcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
segment
name
alignment
writable
executable
impl
public abstract com.oracle.objectfile.ObjectFile$Section newNobitsSection(com.oracle.objectfile.ObjectFile$Segment, java.lang.String, com.oracle.objectfile.ObjectFile$NobitsSectionImpl);
descriptor: (Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$NobitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
segment
name
impl
public com.oracle.objectfile.ObjectFile$Section newUserDefinedSection(java.lang.String, com.oracle.objectfile.ElementImpl);
descriptor: (Ljava/lang/String;Lcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
iconst_0
iconst_0
invokevirtual com.oracle.objectfile.ObjectFile.getOrCreateSegment:(Ljava/lang/String;Ljava/lang/String;ZZ)Lcom/oracle/objectfile/ObjectFile$Segment;
astore 3
start local 3 1: aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getWordSizeInBytes:()I
istore 4
start local 4 2: aload 0
aload 3
aload 1
iload 4
aload 2
invokevirtual com.oracle.objectfile.ObjectFile.newUserDefinedSection:(Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;ILcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
astore 5
start local 5 3: aload 5
areturn
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 4 0 this Lcom/oracle/objectfile/ObjectFile;
0 4 1 name Ljava/lang/String;
0 4 2 impl Lcom/oracle/objectfile/ElementImpl;
1 4 3 segment Lcom/oracle/objectfile/ObjectFile$Segment;
2 4 4 alignment I
3 4 5 result Lcom/oracle/objectfile/ObjectFile$Section;
MethodParameters:
Name Flags
name
impl
public com.oracle.objectfile.ObjectFile$Section newDebugSection(java.lang.String, com.oracle.objectfile.ElementImpl);
descriptor: (Ljava/lang/String;Lcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
iconst_0
iconst_0
invokevirtual com.oracle.objectfile.ObjectFile.getOrCreateSegment:(Ljava/lang/String;Ljava/lang/String;ZZ)Lcom/oracle/objectfile/ObjectFile$Segment;
astore 3
start local 3 1: aload 0
aload 3
aload 1
iconst_1
aload 2
invokevirtual com.oracle.objectfile.ObjectFile.newUserDefinedSection:(Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;ILcom/oracle/objectfile/ElementImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
astore 4
start local 4 2: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/objectfile/ObjectFile;
0 3 1 name Ljava/lang/String;
0 3 2 impl Lcom/oracle/objectfile/ElementImpl;
1 3 3 segment Lcom/oracle/objectfile/ObjectFile$Segment;
2 3 4 result Lcom/oracle/objectfile/ObjectFile$Section;
MethodParameters:
Name Flags
name
impl
public com.oracle.objectfile.ObjectFile$Section newProgbitsSection(java.lang.String, int, boolean, boolean, com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl);
descriptor: (Ljava/lang/String;IZZLcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 1
aload 5
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 1
iload 3
iload 4
invokevirtual com.oracle.objectfile.ObjectFile.getOrCreateSegment:(Ljava/lang/String;Ljava/lang/String;ZZ)Lcom/oracle/objectfile/ObjectFile$Segment;
astore 6
start local 6 2: iload 2
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getWordSizeInBytes:()I
invokestatic com.oracle.objectfile.ObjectFile.lowestCommonMultiple:(II)I
istore 7
start local 7 3: aload 0
aload 6
aload 1
iload 7
iload 3
iload 4
aload 5
invokevirtual com.oracle.objectfile.ObjectFile.newProgbitsSection:(Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;IZZLcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
astore 8
start local 8 4: aload 8
areturn
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 5 0 this Lcom/oracle/objectfile/ObjectFile;
0 5 1 name Ljava/lang/String;
0 5 2 alignment I
0 5 3 writable Z
0 5 4 executable Z
0 5 5 impl Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
2 5 6 segment Lcom/oracle/objectfile/ObjectFile$Segment;
3 5 7 adaptedAlignment I
4 5 8 result Lcom/oracle/objectfile/ObjectFile$Section;
MethodParameters:
Name Flags
name
alignment
writable
executable
impl
public com.oracle.objectfile.ObjectFile$Section newNobitsSection(java.lang.String, com.oracle.objectfile.ObjectFile$NobitsSectionImpl);
descriptor: (Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$NobitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 1
iconst_1
iconst_0
invokevirtual com.oracle.objectfile.ObjectFile.getOrCreateSegment:(Ljava/lang/String;Ljava/lang/String;ZZ)Lcom/oracle/objectfile/ObjectFile$Segment;
astore 3
start local 3 2: aload 0
aload 3
aload 1
aload 2
invokevirtual com.oracle.objectfile.ObjectFile.newNobitsSection:(Lcom/oracle/objectfile/ObjectFile$Segment;Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$NobitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
astore 4
start local 4 3: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/objectfile/ObjectFile;
0 4 1 name Ljava/lang/String;
0 4 2 impl Lcom/oracle/objectfile/ObjectFile$NobitsSectionImpl;
2 4 3 segment Lcom/oracle/objectfile/ObjectFile$Segment;
3 4 4 result Lcom/oracle/objectfile/ObjectFile$Section;
MethodParameters:
Name Flags
name
impl
public com.oracle.objectfile.ObjectFile$Segment findSegmentByName(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/objectfile/ObjectFile$Segment;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getSegments:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.oracle.objectfile.ObjectFile java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.ObjectFile$Segment
astore 2
start local 2 2: aload 2
invokeinterface com.oracle.objectfile.ObjectFile$Segment.getName:()Ljava/lang/String;
ifnull 4
aload 2
invokeinterface com.oracle.objectfile.ObjectFile$Segment.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/objectfile/ObjectFile;
0 6 1 name Ljava/lang/String;
2 4 2 s Lcom/oracle/objectfile/ObjectFile$Segment;
MethodParameters:
Name Flags
name
public static int nextIntegerMultiple(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: iload 0
iload 1
irem
istore 2
start local 2 1: iload 1
iload 2
isub
istore 3
start local 3 2: iload 0
iload 3
iload 1
if_icmpne 3
iconst_0
goto 4
StackMap locals: int int int int
StackMap stack: int
3: iload 3
StackMap locals: int int int int
StackMap stack: int int
4: iadd
istore 4
start local 4 5: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 6
iload 4
iload 1
irem
ifeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: int
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 7
iload 4
iload 0
isub
ifge 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 8
iload 4
iload 0
isub
iload 1
if_icmplt 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 start I
0 9 1 multipleOf I
1 9 2 mod I
2 9 3 compl I
5 9 4 ret I
MethodParameters:
Name Flags
start
multipleOf
public static int nextIntegerMultipleWithCongruence(int, int, int, int);
descriptor: (IIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 0
istore 4
start local 4 1: goto 3
2: StackMap locals: int
StackMap stack:
iload 4
iconst_1
iadd
iload 1
invokestatic com.oracle.objectfile.ObjectFile.nextIntegerMultiple:(II)I
istore 4
3: StackMap locals:
StackMap stack:
iload 4
iload 3
irem
iload 2
iload 3
irem
if_icmpne 2
4: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 start I
0 5 1 multipleOf I
0 5 2 congruentTo I
0 5 3 modulo I
1 5 4 candidate I
MethodParameters:
Name Flags
start
multipleOf
congruentTo
modulo
protected static int greatestCommonDivisor(int, int);
descriptor: (II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iload 0
istore 2
start local 2 1: iload 1
istore 3
start local 3 2: iload 1
istore 4
start local 4 3: goto 7
4: StackMap locals: int int int
StackMap stack:
iload 2
iload 3
irem
istore 4
5: iload 3
istore 2
6: iload 4
istore 3
7: StackMap locals:
StackMap stack:
iload 4
ifne 4
8: iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 arg1 I
0 9 1 arg2 I
1 9 2 first I
2 9 3 second I
3 9 4 rem I
MethodParameters:
Name Flags
arg1
arg2
protected static int lowestCommonMultiple(int, int);
descriptor: (II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
imul
iload 0
iload 1
invokestatic com.oracle.objectfile.ObjectFile.greatestCommonDivisor:(II)I
idiv
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg1 I
0 1 1 arg2 I
MethodParameters:
Name Flags
arg1
arg2
protected static int nextAvailableVaddr(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, int, );
descriptor: (Ljava/util/Map;II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_m1
istore 3
start local 3 1: aload 0
getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
new com.oracle.objectfile.ObjectFile$IntegerDecisionComparator
dup
iconst_0
invokespecial com.oracle.objectfile.ObjectFile$IntegerDecisionComparator.<init>:(Z)V
invokestatic com.oracle.objectfile.ObjectFile.maximalDecisionValues:(Ljava/util/Map;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Comparator;)Ljava/util/List;
astore 4
start local 4 2: aload 4
new com.oracle.objectfile.ObjectFile$SizeTiebreakComparator
dup
aload 0
iconst_0
invokespecial com.oracle.objectfile.ObjectFile$SizeTiebreakComparator.<init>:(Ljava/util/Map;Z)V
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
3: aload 4
aload 4
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 5
start local 5 4: aload 5
ifnull 5
aload 5
invokevirtual com.oracle.objectfile.LayoutDecision.isTaken:()Z
ifne 7
5: StackMap locals: int java.util.List com.oracle.objectfile.LayoutDecision
StackMap stack:
iload 2
istore 3
6: goto 11
7: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 8
aload 0
aload 5
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.isTaken:()Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecidedValue:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 6
start local 6 9: aload 5
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
aload 0
invokevirtual com.oracle.objectfile.ObjectFile$Element.getMemSize:(Ljava/util/Map;)I
istore 7
start local 7 10: iload 6
iload 7
iadd
istore 3
end local 7 end local 6 11: StackMap locals:
StackMap stack:
iload 3
iload 1
if_icmpge 13
12: iload 1
ireturn
13: StackMap locals:
StackMap stack:
iload 3
ireturn
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 14 0 alreadyDecided Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 14 1 base I
0 14 2 defaultValue I
1 14 3 nextAvailable I
2 14 4 maxVaddrDecisions Ljava/util/List<Lcom/oracle/objectfile/LayoutDecision;>;
4 14 5 maxVaddrDecision Lcom/oracle/objectfile/LayoutDecision;
9 11 6 vaddr I
10 11 7 size I
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;II)I
MethodParameters:
Name Flags
alreadyDecided final
base
defaultValue
protected static java.util.List<com.oracle.objectfile.LayoutDecision> maximalDecisionValues(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, com.oracle.objectfile.LayoutDecision$Kind, java.util.Comparator<com.oracle.objectfile.LayoutDecision>);
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Comparator;)Ljava/util/List;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 13
StackMap locals: java.util.Map com.oracle.objectfile.LayoutDecision$Kind java.util.Comparator java.util.ArrayList 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 com.oracle.objectfile.LayoutDecisionMap
aload 1
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
astore 6
start local 6 4: aload 3
ifnonnull 5
aconst_null
goto 6
StackMap locals: java.util.Map com.oracle.objectfile.LayoutDecision$Kind java.util.Comparator java.util.ArrayList java.util.Map$Entry java.util.Iterator com.oracle.objectfile.LayoutDecision
StackMap stack:
5: aload 2
aload 6
aload 3
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
StackMap locals:
StackMap stack: java.lang.Integer
6: astore 7
start local 7 7: aload 3
ifnull 8
aload 7
invokevirtual java.lang.Integer.intValue:()I
ifle 11
8: StackMap locals: java.lang.Integer
StackMap stack:
new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
9: aload 3
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: goto 13
StackMap locals:
StackMap stack:
11: aload 7
invokevirtual java.lang.Integer.intValue:()I
ifne 13
12: aload 3
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 4 13: StackMap locals: java.util.Map com.oracle.objectfile.LayoutDecision$Kind java.util.Comparator java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
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 alreadyDecided Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 15 1 k Lcom/oracle/objectfile/LayoutDecision$Kind;
0 15 2 cmp Ljava/util/Comparator<Lcom/oracle/objectfile/LayoutDecision;>;
1 15 3 currentMax Ljava/util/ArrayList<Lcom/oracle/objectfile/LayoutDecision;>;
3 13 4 eOuter Ljava/util/Map$Entry<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
4 13 6 decisionToCompare Lcom/oracle/objectfile/LayoutDecision;
7 13 7 compareResult Ljava/lang/Integer;
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Comparator<Lcom/oracle/objectfile/LayoutDecision;>;)Ljava/util/List<Lcom/oracle/objectfile/LayoutDecision;>;
MethodParameters:
Name Flags
alreadyDecided
k
cmp
protected static java.util.List<com.oracle.objectfile.LayoutDecision> minimalDecisionValues(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, com.oracle.objectfile.LayoutDecision$Kind, java.util.Comparator<com.oracle.objectfile.LayoutDecision>);
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Comparator;)Ljava/util/List;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 15
StackMap locals: java.util.Map com.oracle.objectfile.LayoutDecision$Kind java.util.Comparator java.util.ArrayList 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 com.oracle.objectfile.LayoutDecisionMap
aload 1
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
astore 6
start local 6 4: aload 6
ifnonnull 6
5: goto 15
6: StackMap locals: java.util.Map com.oracle.objectfile.LayoutDecision$Kind java.util.Comparator java.util.ArrayList java.util.Map$Entry java.util.Iterator com.oracle.objectfile.LayoutDecision
StackMap stack:
aload 3
ifnonnull 7
aconst_null
goto 8
StackMap locals:
StackMap stack:
7: aload 2
aload 6
aload 3
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
StackMap locals:
StackMap stack: java.lang.Integer
8: astore 7
start local 7 9: aload 3
ifnull 10
aload 7
invokevirtual java.lang.Integer.intValue:()I
ifge 13
10: StackMap locals: java.lang.Integer
StackMap stack:
new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
11: aload 3
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
12: goto 15
StackMap locals:
StackMap stack:
13: aload 7
invokevirtual java.lang.Integer.intValue:()I
ifne 15
14: aload 3
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 4 15: StackMap locals: java.util.Map com.oracle.objectfile.LayoutDecision$Kind java.util.Comparator java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
16: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 alreadyDecided Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 17 1 k Lcom/oracle/objectfile/LayoutDecision$Kind;
0 17 2 cmp Ljava/util/Comparator<Lcom/oracle/objectfile/LayoutDecision;>;
1 17 3 currentMin Ljava/util/ArrayList<Lcom/oracle/objectfile/LayoutDecision;>;
3 15 4 eOuter Ljava/util/Map$Entry<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
4 15 6 decisionToCompare Lcom/oracle/objectfile/LayoutDecision;
9 15 7 compareResult Ljava/lang/Integer;
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Comparator<Lcom/oracle/objectfile/LayoutDecision;>;)Ljava/util/List<Lcom/oracle/objectfile/LayoutDecision;>;
MethodParameters:
Name Flags
alreadyDecided
k
cmp
protected static java.util.List<com.oracle.objectfile.LayoutDecision> sortedDecisionValues(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, com.oracle.objectfile.LayoutDecision$Kind, java.util.Comparator<com.oracle.objectfile.LayoutDecision>);
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Comparator;)Ljava/util/List;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=6, 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 1
aload 0
invokestatic com.oracle.objectfile.ObjectFile.decisionsByKind:(Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Map;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 4
StackMap locals: java.util.Map com.oracle.objectfile.LayoutDecision$Kind java.util.Comparator java.util.List top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 4
start local 4 3: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 3
aload 2
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
6: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 alreadyDecided Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 7 1 k Lcom/oracle/objectfile/LayoutDecision$Kind;
0 7 2 cmp Ljava/util/Comparator<Lcom/oracle/objectfile/LayoutDecision;>;
1 7 3 l Ljava/util/List<Lcom/oracle/objectfile/LayoutDecision;>;
3 4 4 d Lcom/oracle/objectfile/LayoutDecision;
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Comparator<Lcom/oracle/objectfile/LayoutDecision;>;)Ljava/util/List<Lcom/oracle/objectfile/LayoutDecision;>;
MethodParameters:
Name Flags
alreadyDecided
k
cmp
protected static int nextAvailableOffset(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>);
descriptor: (Ljava/util/Map;)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: iconst_m1
istore 1
start local 1 1: aload 0
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
new com.oracle.objectfile.ObjectFile$IntegerDecisionComparator
dup
iconst_0
invokespecial com.oracle.objectfile.ObjectFile$IntegerDecisionComparator.<init>:(Z)V
invokestatic com.oracle.objectfile.ObjectFile.maximalDecisionValues:(Ljava/util/Map;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Comparator;)Ljava/util/List;
astore 2
start local 2 2: aload 2
new com.oracle.objectfile.ObjectFile$SizeTiebreakComparator
dup
aload 0
iconst_0
invokespecial com.oracle.objectfile.ObjectFile$SizeTiebreakComparator.<init>:(Ljava/util/Map;Z)V
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
3: aload 2
aload 2
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 3
start local 3 4: aload 3
ifnull 5
aload 3
invokevirtual com.oracle.objectfile.LayoutDecision.isTaken:()Z
ifne 7
5: StackMap locals: int java.util.List com.oracle.objectfile.LayoutDecision
StackMap stack:
iconst_0
istore 1
6: goto 11
7: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 8
aload 0
aload 3
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.isTaken:()Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 4
start local 4 9: aload 0
aload 3
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 5
start local 5 10: iload 4
iload 5
iadd
istore 1
end local 5 end local 4 11: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 alreadyDecided Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
1 12 1 ret I
2 12 2 maxOffsetDecisions Ljava/util/List<Lcom/oracle/objectfile/LayoutDecision;>;
4 12 3 maxOffsetDecision Lcom/oracle/objectfile/LayoutDecision;
9 11 4 offset I
10 11 5 size I
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;)I
MethodParameters:
Name Flags
alreadyDecided final
public abstract int getWordSizeInBytes();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean shouldRecordDebugRelocations();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public static java.util.HashSet<com.oracle.objectfile.BuildDependency> basicDependencies(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, com.oracle.objectfile.ObjectFile$Element, boolean, boolean);
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;ZZ)Ljava/util/HashSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 1: aload 4
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokestatic com.oracle.objectfile.BuildDependency.createOrGet:(Lcom/oracle/objectfile/LayoutDecision;Lcom/oracle/objectfile/LayoutDecision;)Lcom/oracle/objectfile/BuildDependency;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
2: aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
ifnull 4
3: aload 4
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokestatic com.oracle.objectfile.BuildDependency.createOrGet:(Lcom/oracle/objectfile/LayoutDecision;Lcom/oracle/objectfile/LayoutDecision;)Lcom/oracle/objectfile/BuildDependency;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals: java.util.HashSet
StackMap stack:
iload 2
ifeq 6
5: aload 4
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.CONTENT:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokestatic com.oracle.objectfile.BuildDependency.createOrGet:(Lcom/oracle/objectfile/LayoutDecision;Lcom/oracle/objectfile/LayoutDecision;)Lcom/oracle/objectfile/BuildDependency;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
iload 3
ifeq 8
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
ifnull 8
7: aload 4
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokestatic com.oracle.objectfile.BuildDependency.createOrGet:(Lcom/oracle/objectfile/LayoutDecision;Lcom/oracle/objectfile/LayoutDecision;)Lcom/oracle/objectfile/BuildDependency;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 decisions Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 9 1 el Lcom/oracle/objectfile/ObjectFile$Element;
0 9 2 sizeOnContent Z
0 9 3 vaddrOnOffset Z
1 9 4 deps Ljava/util/HashSet<Lcom/oracle/objectfile/BuildDependency;>;
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;Lcom/oracle/objectfile/ObjectFile$Element;ZZ)Ljava/util/HashSet<Lcom/oracle/objectfile/BuildDependency;>;
MethodParameters:
Name Flags
decisions
el
sizeOnContent
vaddrOnOffset
public static java.util.HashSet<com.oracle.objectfile.BuildDependency> minimalDependencies(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, com.oracle.objectfile.ObjectFile$Element);
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;)Ljava/util/HashSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
iconst_1
invokestatic com.oracle.objectfile.ObjectFile.basicDependencies:(Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;ZZ)Ljava/util/HashSet;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 decisions Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 1 1 el Lcom/oracle/objectfile/ObjectFile$Element;
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;Lcom/oracle/objectfile/ObjectFile$Element;)Ljava/util/HashSet<Lcom/oracle/objectfile/BuildDependency;>;
MethodParameters:
Name Flags
decisions
el
public static java.util.HashSet<com.oracle.objectfile.BuildDependency> defaultDependencies(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, com.oracle.objectfile.ObjectFile$Element);
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;)Ljava/util/HashSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_1
invokestatic com.oracle.objectfile.ObjectFile.basicDependencies:(Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;ZZ)Ljava/util/HashSet;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 decisions Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 1 1 el Lcom/oracle/objectfile/ObjectFile$Element;
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;Lcom/oracle/objectfile/ObjectFile$Element;)Ljava/util/HashSet<Lcom/oracle/objectfile/BuildDependency;>;
MethodParameters:
Name Flags
decisions
el
public static <T> T defaultGetOrDecide(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecision$Kind, );
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
astore 4
start local 4 1: aload 4
ifnull 3
aload 4
aload 2
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
ifnull 3
aload 4
aload 2
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.isTaken:()Z
ifeq 3
2: aload 4
aload 2
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecidedValue:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Object;
areturn
3: StackMap locals: com.oracle.objectfile.LayoutDecisionMap
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 alreadyDecided Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 4 1 el Lcom/oracle/objectfile/ObjectFile$Element;
0 4 2 k Lcom/oracle/objectfile/LayoutDecision$Kind;
0 4 3 hint TT;
1 4 4 m Lcom/oracle/objectfile/LayoutDecisionMap;
Signature: <T:Ljava/lang/Object;>(Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecision$Kind;TT;)TT;
MethodParameters:
Name Flags
alreadyDecided
el
k
hint
public static int defaultGetOrDecideOffset(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, com.oracle.objectfile.ObjectFile$Element, );
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
ifnull 1
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.isTaken:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
iload 2
aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getAlignment:()I
invokestatic com.oracle.objectfile.ObjectFile.nextIntegerMultiple:(II)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic com.oracle.objectfile.ObjectFile.defaultGetOrDecide:(Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 alreadyDecided Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 2 1 el Lcom/oracle/objectfile/ObjectFile$Element;
0 2 2 offsetHint I
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;Lcom/oracle/objectfile/ObjectFile$Element;I)I
MethodParameters:
Name Flags
alreadyDecided
el
offsetHint
public static byte[] defaultGetOrDecideContent(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, com.oracle.objectfile.ObjectFile$Element, );
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;[B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getstatic com.oracle.objectfile.LayoutDecision$Kind.CONTENT:Lcom/oracle/objectfile/LayoutDecision$Kind;
aload 2
invokestatic com.oracle.objectfile.ObjectFile.defaultGetOrDecide:(Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 alreadyDecided Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 1 1 el Lcom/oracle/objectfile/ObjectFile$Element;
0 1 2 contentHint [B
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;Lcom/oracle/objectfile/ObjectFile$Element;[B)[B
MethodParameters:
Name Flags
alreadyDecided
el
contentHint
public static int defaultGetOrDecideSize(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, com.oracle.objectfile.ObjectFile$Element, );
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic com.oracle.objectfile.ObjectFile.defaultGetOrDecide:(Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 alreadyDecided Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 1 1 el Lcom/oracle/objectfile/ObjectFile$Element;
0 1 2 sizeHint I
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;Lcom/oracle/objectfile/ObjectFile$Element;I)I
MethodParameters:
Name Flags
alreadyDecided
el
sizeHint
public static int defaultGetOrDecideVaddr(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>, com.oracle.objectfile.ObjectFile$Element, );
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/ObjectFile$Element;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=17, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecidedValue:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 1: iload 2
istore 4
start local 4 2: aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOwner:()Lcom/oracle/objectfile/ObjectFile;
iload 2
i2l
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.elementsMappedOnPage:(JLjava/util/Map;)Ljava/lang/Iterable;
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: aload 5
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 21
StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int top java.util.Iterator
StackMap stack:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.ObjectFile$Element
astore 7
start local 7 6: aload 0
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecidedValue:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 9
start local 9 7: aload 0
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecidedValue:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 10
start local 10 8: iload 9
iload 10
iadd
istore 11
start local 11 9: iload 11
aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOwner:()Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getPageSizeShift:()I
ishr
istore 12
start local 12 10: iload 3
aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOwner:()Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getPageSizeShift:()I
ishr
istore 13
start local 13 11: iload 6
iload 12
iload 13
if_icmpeq 12
iconst_1
goto 13
StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int com.oracle.objectfile.ObjectFile$Element java.util.Iterator int int int int int
StackMap stack: int
12: iconst_0
StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int com.oracle.objectfile.ObjectFile$Element java.util.Iterator int int int int int
StackMap stack: int int
13: ior
istore 6
14: iload 6
ifeq 16
15: goto 22
16: StackMap locals:
StackMap stack:
iload 6
aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOwner:()Lcom/oracle/objectfile/ObjectFile;
aload 1
aload 7
iload 3
aload 0
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecidedValue:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokevirtual com.oracle.objectfile.ObjectFile.elementsCanSharePage:(Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/ObjectFile$Element;II)Z
ifeq 17
iconst_0
goto 18
StackMap locals:
StackMap stack: int
17: iconst_1
StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int com.oracle.objectfile.ObjectFile$Element java.util.Iterator int int int int int
StackMap stack: int int
18: ior
istore 6
19: iload 6
ifeq 21
20: goto 22
end local 13 end local 12 end local 11 end local 10 end local 9 end local 7 21: StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
22: StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int
StackMap stack:
iload 6
ifeq 24
23: iload 4
aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOwner:()Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getPageSizeShift:()I
ishr
iconst_1
iadd
aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOwner:()Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getPageSizeShift:()I
ishl
istore 4
24: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecidedValue:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 7
start local 7 25: aload 0
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
new com.oracle.objectfile.ObjectFile$IntegerDecisionComparator
dup
iconst_1
invokespecial com.oracle.objectfile.ObjectFile$IntegerDecisionComparator.<init>:(Z)V
invokestatic com.oracle.objectfile.ObjectFile.sortedDecisionValues:(Ljava/util/Map;Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Comparator;)Ljava/util/List;
astore 8
start local 8 26: aconst_null
astore 9
start local 9 27: aconst_null
astore 10
start local 10 28: aload 8
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 33
StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int int java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.ObjectFile$Element top java.util.Iterator
StackMap stack:
29: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 11
start local 11 30: aload 11
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
aload 1
if_acmpne 32
31: goto 34
32: StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int int java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision java.util.Iterator
StackMap stack:
aload 11
astore 9
end local 11 33: StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int int java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.ObjectFile$Element top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
34: StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int int java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.ObjectFile$Element
StackMap stack:
aload 9
ifnull 36
35: aload 9
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
astore 10
36: StackMap locals:
StackMap stack:
iconst_0
istore 11
start local 11 37: iconst_0
istore 12
start local 12 38: aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOwner:()Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getSegments:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 14
goto 44
StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int int java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.ObjectFile$Element int int top java.util.Iterator
StackMap stack:
39: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 13
start local 13 40: aload 13
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aload 1
if_acmpne 42
41: iconst_1
istore 11
42: StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int int java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.ObjectFile$Element int int java.util.List java.util.Iterator
StackMap stack:
aload 13
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 44
43: iconst_1
istore 12
end local 13 44: StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int int java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.ObjectFile$Element int int top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
45: aload 10
instanceof com.oracle.objectfile.ObjectFile$Section
ifeq 48
46: aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOwner:()Lcom/oracle/objectfile/ObjectFile;
aload 1
aload 10
iload 7
aload 0
aload 10
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecidedValue:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokevirtual com.oracle.objectfile.ObjectFile.elementsCanSharePage:(Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/ObjectFile$Element;II)Z
ifne 48
47: iconst_0
goto 49
StackMap locals: java.util.Map com.oracle.objectfile.ObjectFile$Element int int int java.lang.Iterable int int java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.ObjectFile$Element int int
StackMap stack:
48: iconst_1
StackMap locals:
StackMap stack: int
49: istore 13
start local 13 50: aload 10
invokevirtual com.oracle.objectfile.ObjectFile$Element.isLoadable:()Z
istore 14
start local 14 51: iload 11
ifne 53
iload 14
ifeq 53
iload 12
ifne 52
aload 10
invokevirtual com.oracle.objectfile.ObjectFile$Element.isLoadable:()Z
ifne 53
StackMap locals: int int
StackMap stack:
52: iload 13
ifeq 53
iconst_0
goto 54
StackMap locals:
StackMap stack:
53: iconst_1
StackMap locals:
StackMap stack: int
54: istore 15
start local 15 55: iload 15
ifne 56
iload 4
aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getAlignment:()I
invokestatic com.oracle.objectfile.ObjectFile.nextIntegerMultiple:(II)I
goto 57
56: StackMap locals: int
StackMap stack:
iload 4
aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getAlignment:()I
iload 3
aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOwner:()Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
irem
aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOwner:()Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
invokestatic com.oracle.objectfile.ObjectFile.nextIntegerMultipleWithCongruence:(IIII)I
57: StackMap locals:
StackMap stack: int
istore 16
start local 16 58: iload 16
aload 1
aload 0
invokevirtual com.oracle.objectfile.ObjectFile$Element.getMemSize:(Ljava/util/Map;)I
iadd
istore 4
59: iload 16
ireturn
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 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 60 0 alreadyDecided Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
0 60 1 el Lcom/oracle/objectfile/ObjectFile$Element;
0 60 2 vaddrHint I
1 60 3 fileOffset I
2 60 4 nextAvailableVaddr I
3 60 5 onCurrentPage Ljava/lang/Iterable<Lcom/oracle/objectfile/ObjectFile$Element;>;
4 60 6 mustStartNewPage Z
6 21 7 alreadyMapped Lcom/oracle/objectfile/ObjectFile$Element;
7 21 9 existingOffset I
8 21 10 existingSize I
9 21 11 existingEndPos I
10 21 12 endPageNum I
11 21 13 ourPageNum I
25 60 7 myOffset I
26 60 8 sortedOffsetDecisions Ljava/util/List<Lcom/oracle/objectfile/LayoutDecision;>;
27 60 9 predDecision Lcom/oracle/objectfile/LayoutDecision;
28 60 10 predElement Lcom/oracle/objectfile/ObjectFile$Element;
30 33 11 d Lcom/oracle/objectfile/LayoutDecision;
37 60 11 firstSection Z
38 60 12 inAnySegment Z
40 44 13 l Ljava/util/List<Lcom/oracle/objectfile/ObjectFile$Element;>;
50 60 13 canSharePageWithPredecessor Z
51 60 14 predSectionIsAlloc Z
55 60 15 requireModuloConstraint Z
58 60 16 vaddr I
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;Lcom/oracle/objectfile/ObjectFile$Element;I)I
MethodParameters:
Name Flags
alreadyDecided
el
vaddrHint final
public static com.oracle.objectfile.LayoutDecisionMap defaultDecisions(com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap);
descriptor: (Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;)Lcom/oracle/objectfile/LayoutDecisionMap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.objectfile.LayoutDecisionMap
dup
aload 0
invokespecial com.oracle.objectfile.LayoutDecisionMap.<init>:(Lcom/oracle/objectfile/ObjectFile$Element;)V
astore 2
start local 2 1: aload 2
getstatic com.oracle.objectfile.LayoutDecision$Kind.CONTENT:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.putUndecided:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
pop
2: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 3
aload 2
getstatic com.oracle.objectfile.LayoutDecision$Kind.CONTENT:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.isTaken:()Z
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: com.oracle.objectfile.LayoutDecisionMap
StackMap stack:
aload 2
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.putUndecided:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
pop
4: aload 2
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.putUndecided:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
pop
5: aload 0
invokevirtual com.oracle.objectfile.ObjectFile$Element.isReferenceable:()Z
ifeq 7
6: aload 2
getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.putUndecided:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
pop
7: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.objectfile.LayoutDecisionMap.putDecidedValues:(Lcom/oracle/objectfile/LayoutDecisionMap;)V
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 e Lcom/oracle/objectfile/ObjectFile$Element;
0 9 1 copyingIn Lcom/oracle/objectfile/LayoutDecisionMap;
1 9 2 decisions Lcom/oracle/objectfile/LayoutDecisionMap;
MethodParameters:
Name Flags
e
copyingIn
protected boolean elementsCanSharePage(com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.ObjectFile$Element, int, int);
descriptor: (Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/ObjectFile$Element;II)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getPageSizeShift:()I
ishr
iload 4
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getPageSizeShift:()I
ishr
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 5
start local 5 3: iload 5
ireturn
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 4 0 this Lcom/oracle/objectfile/ObjectFile;
0 4 1 s1 Lcom/oracle/objectfile/ObjectFile$Element;
0 4 2 s2 Lcom/oracle/objectfile/ObjectFile$Element;
0 4 3 offset1 I
0 4 4 offset2 I
3 4 5 offsetSpaceCompatible Z
MethodParameters:
Name Flags
s1
s2
offset1
offset2
public void installDebugInfo(com.oracle.objectfile.debuginfo.DebugInfoProvider);
descriptor: (Lcom/oracle/objectfile/debuginfo/DebugInfoProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/ObjectFile;
0 1 1 debugInfoProvider Lcom/oracle/objectfile/debuginfo/DebugInfoProvider;
MethodParameters:
Name Flags
debugInfoProvider
protected static java.lang.Iterable<com.oracle.objectfile.LayoutDecision> allDecisions(java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>);
descriptor: (Ljava/util/Map;)Ljava/lang/Iterable;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic iterator(Ljava/util/Map;)Ljava/lang/Iterable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/util/Iterator;
com/oracle/objectfile/ObjectFile.lambda$0(Ljava/util/Map;)Ljava/util/Iterator; (6)
()Ljava/util/Iterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 decisions Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
Signature: (Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;)Ljava/lang/Iterable<Lcom/oracle/objectfile/LayoutDecision;>;
MethodParameters:
Name Flags
decisions final
protected static java.lang.Iterable<com.oracle.objectfile.LayoutDecision> decisionsByKind(com.oracle.objectfile.LayoutDecision$Kind, java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>);
descriptor: (Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Map;)Ljava/lang/Iterable;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokedynamic iterator(Ljava/util/Map;Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Iterable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/util/Iterator;
com/oracle/objectfile/ObjectFile.lambda$2(Ljava/util/Map;Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/util/Iterator; (6)
()Ljava/util/Iterator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 kind Lcom/oracle/objectfile/LayoutDecision$Kind;
0 1 1 decisions Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
Signature: (Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;)Ljava/lang/Iterable<Lcom/oracle/objectfile/LayoutDecision;>;
MethodParameters:
Name Flags
kind final
decisions final
public java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap> getDecisionsTaken();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/ObjectFile;
Signature: ()Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
protected java.lang.Iterable<com.oracle.objectfile.ObjectFile$Element> elementsMappedOnPage(long, java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap>);
descriptor: (JLjava/util/Map;)Ljava/lang/Iterable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=18, args_size=3
start local 0 start local 1 start local 3 0: lload 1
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getPageSizeShift:()I
lshr
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getPageSizeShift:()I
lshl
lstore 4
start local 4 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 2: getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
aload 3
invokestatic com.oracle.objectfile.ObjectFile.decisionsByKind:(Lcom/oracle/objectfile/LayoutDecision$Kind;Ljava/util/Map;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 15
StackMap locals: com.oracle.objectfile.ObjectFile long java.util.Map long java.util.ArrayList top java.util.Iterator
StackMap stack:
3: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 7
start local 7 4: aload 7
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
astore 9
start local 9 5: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 6
aload 7
invokevirtual com.oracle.objectfile.LayoutDecision.getKind:()Lcom/oracle/objectfile/LayoutDecision$Kind;
getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
if_acmpeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: com.oracle.objectfile.ObjectFile long java.util.Map long java.util.ArrayList com.oracle.objectfile.LayoutDecision java.util.Iterator com.oracle.objectfile.ObjectFile$Element
StackMap stack:
aload 7
invokevirtual com.oracle.objectfile.LayoutDecision.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 10
start local 10 7: aload 7
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
aload 3
invokevirtual com.oracle.objectfile.ObjectFile$Element.getMemSize:(Ljava/util/Map;)I
istore 11
start local 11 8: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 9
iload 11
iconst_m1
if_icmpne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: int int
StackMap stack:
iload 10
istore 12
start local 12 10: iload 10
iload 11
iadd
istore 13
start local 13 11: lload 4
lstore 14
start local 14 12: lload 4
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
i2l
ladd
lstore 16
start local 16 13: iload 12
i2l
lload 16
lcmp
ifge 15
iload 13
i2l
lload 14
lcmp
ifle 15
14: aload 6
aload 9
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 7 15: StackMap locals: com.oracle.objectfile.ObjectFile long java.util.Map long java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
16: aload 6
areturn
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/objectfile/ObjectFile;
0 17 1 vaddr J
0 17 3 alreadyDecided Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
1 17 4 vaddrRoundedDown J
2 17 6 ss Ljava/util/ArrayList<Lcom/oracle/objectfile/ObjectFile$Element;>;
4 15 7 d Lcom/oracle/objectfile/LayoutDecision;
5 15 9 s Lcom/oracle/objectfile/ObjectFile$Element;
7 15 10 va I
8 15 11 sizeInMemory I
10 15 12 mappingBegin I
11 15 13 mappingEnd I
12 15 14 pageBegin J
13 15 16 pageEnd J
Signature: (JLjava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;)Ljava/lang/Iterable<Lcom/oracle/objectfile/ObjectFile$Element;>;
MethodParameters:
Name Flags
vaddr
alreadyDecided
protected com.oracle.objectfile.ElementList createElementList();
descriptor: ()Lcom/oracle/objectfile/ElementList;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.objectfile.ElementList
dup
invokespecial com.oracle.objectfile.ElementList.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/ObjectFile;
public java.util.List<com.oracle.objectfile.ObjectFile$Element> getElements();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/ObjectFile;
Signature: ()Ljava/util/List<Lcom/oracle/objectfile/ObjectFile$Element;>;
public com.oracle.objectfile.ObjectFile$Element elementForName(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/objectfile/ObjectFile$Element;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
aload 1
invokevirtual com.oracle.objectfile.ElementList.forName:(Ljava/lang/String;)Lcom/oracle/objectfile/ObjectFile$Element;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/ObjectFile;
0 1 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
public java.lang.String nameForElement(com.oracle.objectfile.ObjectFile$Element);
descriptor: (Lcom/oracle/objectfile/ObjectFile$Element;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.objectfile.ObjectFile$Element.getName:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/ObjectFile;
0 1 1 e Lcom/oracle/objectfile/ObjectFile$Element;
MethodParameters:
Name Flags
e
public java.util.List<com.oracle.objectfile.ObjectFile$Section> getSections();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
getfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
invokevirtual com.oracle.objectfile.ElementList.sectionsCount:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: aload 0
getfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
invokevirtual com.oracle.objectfile.ElementList.sectionsIterator:()Ljava/util/Iterator;
astore 2
start local 2 2: goto 4
3: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aload 1
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.ObjectFile$Section
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
5: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/objectfile/ObjectFile;
1 6 1 sections Ljava/util/List<Lcom/oracle/objectfile/ObjectFile$Section;>;
2 6 2 it Ljava/util/Iterator<Lcom/oracle/objectfile/ObjectFile$Section;>;
Signature: ()Ljava/util/List<Lcom/oracle/objectfile/ObjectFile$Section;>;
public abstract java.util.Set<com.oracle.objectfile.ObjectFile$Segment> getSegments();
descriptor: ()Ljava/util/Set;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/Set<Lcom/oracle/objectfile/ObjectFile$Segment;>;
public com.oracle.objectfile.ObjectFile$Header ();
descriptor: ()Lcom/oracle/objectfile/ObjectFile$Header;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
getfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
invokevirtual com.oracle.objectfile.ElementList.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: aload 0
getfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
invokevirtual com.oracle.objectfile.ElementList.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: com.oracle.objectfile.ObjectFile java.util.ArrayList top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.ObjectFile$Element
astore 2
start local 2 3: aload 2
instanceof com.oracle.objectfile.ObjectFile$Header
ifeq 5
4: aload 1
aload 2
checkcast com.oracle.objectfile.ObjectFile$Header
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 1
invokevirtual java.util.ArrayList.size:()I
ifne 8
7: new java.lang.IllegalStateException
dup
ldc "file has no header"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: com.oracle.objectfile.ObjectFile java.util.ArrayList
StackMap stack:
aload 1
invokevirtual java.util.ArrayList.size:()I
iconst_1
if_icmple 10
9: new java.lang.IllegalStateException
dup
ldc "file has multiple headers"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 11
aload 1
invokevirtual java.util.ArrayList.size:()I
iconst_1
if_icmpeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.objectfile.ObjectFile$Header
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/objectfile/ObjectFile;
1 12 1 headers Ljava/util/ArrayList<Lcom/oracle/objectfile/ObjectFile$Header;>;
3 5 2 e Lcom/oracle/objectfile/ObjectFile$Element;
public com.oracle.objectfile.ObjectFile$Element getOffsetBootstrapElement();
descriptor: ()Lcom/oracle/objectfile/ObjectFile$Element;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getHeader:()Lcom/oracle/objectfile/ObjectFile$Header;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/ObjectFile;
public final void write(java.nio.channels.FileChannel);
descriptor: (Ljava/nio/channels/FileChannel;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.oracle.objectfile.ObjectFile.bake:(Ljava/util/List;)I
istore 3
start local 3 2: aload 1
getstatic java.nio.channels.FileChannel$MapMode.READ_WRITE:Ljava/nio/channels/FileChannel$MapMode;
lconst_0
iload 3
i2l
invokevirtual java.nio.channels.FileChannel.map:(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
astore 4
start local 4 3: aconst_null
astore 5
aconst_null
astore 6
4: aload 4
invokedynamic close(Ljava/nio/ByteBuffer;)Ljava/io/Closeable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/objectfile/ObjectFile.lambda$5(Ljava/nio/ByteBuffer;)V (6)
()V
astore 7
start local 7 5: aload 0
aload 2
aload 4
invokevirtual com.oracle.objectfile.ObjectFile.writeBuffer:(Ljava/util/List;Ljava/nio/ByteBuffer;)V
6: aload 7
ifnull 14
aload 7
invokeinterface java.io.Closeable.close:()V
goto 14
StackMap locals: com.oracle.objectfile.ObjectFile java.nio.channels.FileChannel java.util.List int java.nio.ByteBuffer java.lang.Throwable java.lang.Throwable java.io.Closeable
StackMap stack: java.lang.Throwable
7: astore 5
aload 7
ifnull 8
aload 7
invokeinterface java.io.Closeable.close:()V
end local 7 StackMap locals:
StackMap stack:
8: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 6
aload 5
ifnonnull 10
aload 6
astore 5
goto 11
StackMap locals:
StackMap stack:
10: aload 5
aload 6
if_acmpeq 11
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 5
athrow
end local 4 12: StackMap locals: com.oracle.objectfile.ObjectFile java.nio.channels.FileChannel java.util.List int
StackMap stack: java.io.IOException
astore 4
start local 4 13: new java.lang.RuntimeException
dup
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/objectfile/ObjectFile;
0 15 1 outputChannel Ljava/nio/channels/FileChannel;
1 15 2 sortedObjectFileElements Ljava/util/List<Lcom/oracle/objectfile/ObjectFile$Element;>;
2 15 3 totalSize I
3 12 4 buffer Ljava/nio/ByteBuffer;
5 8 7 ignored Ljava/io/Closeable;
13 14 4 e Ljava/io/IOException;
Exception table:
from to target type
5 6 7 any
4 9 9 any
2 12 12 Class java.io.IOException
MethodParameters:
Name Flags
outputChannel
void putDependency(com.oracle.objectfile.BuildDependency);
descriptor: (Lcom/oracle/objectfile/BuildDependency;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.objectfile.ObjectFile.allDependencies:Ljava/util/TreeSet;
aload 1
invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/objectfile/ObjectFile;
0 2 1 d Lcom/oracle/objectfile/BuildDependency;
MethodParameters:
Name Flags
d
com.oracle.objectfile.BuildDependency getExistingDependency(com.oracle.objectfile.BuildDependency);
descriptor: (Lcom/oracle/objectfile/BuildDependency;)Lcom/oracle/objectfile/BuildDependency;
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.objectfile.ObjectFile.allDependencies:Ljava/util/TreeSet;
aload 1
invokevirtual java.util.TreeSet.contains:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield com.oracle.objectfile.ObjectFile.allDependencies:Ljava/util/TreeSet;
aload 1
iconst_1
aload 1
iconst_1
invokevirtual java.util.TreeSet.subSet:(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableSet;
invokeinterface java.util.NavigableSet.first:()Ljava/lang/Object;
checkcast com.oracle.objectfile.BuildDependency
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/objectfile/ObjectFile;
0 3 1 d Lcom/oracle/objectfile/BuildDependency;
MethodParameters:
Name Flags
d
private java.lang.String dependencyGraphAsDotString(java.util.Set<com.oracle.objectfile.LayoutDecision>);
descriptor: (Ljava/util/Set;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
ldc "digraph deps {\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
getfield com.oracle.objectfile.ObjectFile.allDependencies:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: com.oracle.objectfile.ObjectFile java.util.Set java.lang.StringBuilder top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.BuildDependency
astore 3
start local 3 4: aload 1
ifnull 5
aload 1
aload 3
getfield com.oracle.objectfile.BuildDependency.depending:Lcom/oracle/objectfile/LayoutDecision;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 6
aload 1
aload 3
getfield com.oracle.objectfile.BuildDependency.dependedOn:Lcom/oracle/objectfile/LayoutDecision;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 6
5: StackMap locals: com.oracle.objectfile.ObjectFile java.util.Set java.lang.StringBuilder com.oracle.objectfile.BuildDependency java.util.Iterator
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "\t\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield com.oracle.objectfile.BuildDependency.depending:Lcom/oracle/objectfile/LayoutDecision;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\" -> \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
getfield com.oracle.objectfile.BuildDependency.dependedOn:Lcom/oracle/objectfile/LayoutDecision;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\";\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 6: StackMap locals: com.oracle.objectfile.ObjectFile java.util.Set java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 2
ldc "}\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/objectfile/ObjectFile;
0 9 1 decisionsToInclude Ljava/util/Set<Lcom/oracle/objectfile/LayoutDecision;>;
1 9 2 sb Ljava/lang/StringBuilder;
4 6 3 d Lcom/oracle/objectfile/BuildDependency;
Signature: (Ljava/util/Set<Lcom/oracle/objectfile/LayoutDecision;>;)Ljava/lang/String;
MethodParameters:
Name Flags
decisionsToInclude
public int bake(java.util.List<com.oracle.objectfile.ObjectFile$Element>);
descriptor: (Ljava/util/List;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=21, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
invokevirtual java.util.HashSet.clear:()V
1: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsByElement:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
2: aload 0
getfield com.oracle.objectfile.ObjectFile.dependenciesByDependingElement:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
3: aload 0
getfield com.oracle.objectfile.ObjectFile.dependenciesByDependedOnElement:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
4: aload 0
getfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
invokevirtual com.oracle.objectfile.ElementList.iterator:()Ljava/util/Iterator;
astore 3
goto 13
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.ObjectFile$Element
astore 2
start local 2 6: aload 2
new com.oracle.objectfile.LayoutDecisionMap
dup
aload 2
invokespecial com.oracle.objectfile.LayoutDecisionMap.<init>:(Lcom/oracle/objectfile/ObjectFile$Element;)V
invokevirtual com.oracle.objectfile.ObjectFile$Element.getDecisions:(Lcom/oracle/objectfile/LayoutDecisionMap;)Lcom/oracle/objectfile/LayoutDecisionMap;
astore 4
start local 4 7: aload 0
getfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
aload 4
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecisions:()Ljava/util/Collection;
invokevirtual java.util.HashSet.addAll:(Ljava/util/Collection;)Z
pop
8: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsByElement:Ljava/util/Map;
aload 2
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 10
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsByElement:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.ObjectFile$Element java.util.Iterator com.oracle.objectfile.LayoutDecisionMap
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 11
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsByElement:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.CONTENT:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.containsKey:(Ljava/lang/Object;)Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 12
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsByElement:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.containsKey:(Ljava/lang/Object;)Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 13
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsByElement:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.containsKey:(Ljava/lang/Object;)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 4 end local 2 13: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
14: aload 0
getfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
invokevirtual com.oracle.objectfile.ElementList.iterator:()Ljava/util/Iterator;
astore 3
goto 35
StackMap locals:
StackMap stack:
15: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.ObjectFile$Element
astore 2
start local 2 16: aload 2
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsByElement:Ljava/util/Map;
invokevirtual com.oracle.objectfile.ObjectFile$Element.getDependencies:(Ljava/util/Map;)Ljava/lang/Iterable;
astore 4
start local 4 17: aload 4
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 34
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.ObjectFile$Element java.util.Iterator java.lang.Iterable top java.util.Iterator
StackMap stack:
18: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.BuildDependency
astore 5
start local 5 19: aload 0
getfield com.oracle.objectfile.ObjectFile.allDependencies:Ljava/util/TreeSet;
aload 5
invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
pop
20: aload 5
getfield com.oracle.objectfile.BuildDependency.depending:Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
astore 7
start local 7 21: aload 5
getfield com.oracle.objectfile.BuildDependency.dependedOn:Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
astore 8
start local 8 22: aload 0
getfield com.oracle.objectfile.ObjectFile.dependenciesByDependingElement:Ljava/util/Map;
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 9
start local 9 23: aload 9
ifnonnull 26
24: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
25: aload 0
getfield com.oracle.objectfile.ObjectFile.dependenciesByDependingElement:Ljava/util/Map;
aload 7
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.ObjectFile$Element java.util.Iterator java.lang.Iterable com.oracle.objectfile.BuildDependency java.util.Iterator com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.ObjectFile$Element java.util.List
StackMap stack:
aload 0
getfield com.oracle.objectfile.ObjectFile.dependenciesByDependedOnElement:Ljava/util/Map;
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 10
start local 10 27: aload 10
ifnonnull 30
28: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
29: aload 0
getfield com.oracle.objectfile.ObjectFile.dependenciesByDependedOnElement:Ljava/util/Map;
aload 8
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
30: StackMap locals: java.util.List
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 31
aload 5
getfield com.oracle.objectfile.BuildDependency.depending:Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
aload 7
if_acmpeq 31
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
31: StackMap locals:
StackMap stack:
aload 9
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 33
aload 5
getfield com.oracle.objectfile.BuildDependency.dependedOn:Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
aload 8
if_acmpeq 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals:
StackMap stack:
aload 10
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 end local 8 end local 7 end local 5 34: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.ObjectFile$Element java.util.Iterator java.lang.Iterable top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
end local 4 end local 2 35: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
36: new com.oracle.objectfile.LayoutDecision
dup
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
aconst_null
aconst_null
invokespecial com.oracle.objectfile.LayoutDecision.<init>:(Lcom/oracle/objectfile/LayoutDecision$Kind;Lcom/oracle/objectfile/ObjectFile$Element;Ljava/lang/Object;)V
astore 2
start local 2 37: aload 0
getfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
iconst_0
anewarray com.oracle.objectfile.LayoutDecision
invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision[]
astore 3
start local 3 38: aload 0
getfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
aload 2
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
39: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 45
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] top int int com.oracle.objectfile.LayoutDecision[]
StackMap stack:
40: aload 7
iload 5
aaload
astore 4
start local 4 41: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 42
aload 4
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
ifnonnull 42
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
42: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.LayoutDecision int int com.oracle.objectfile.LayoutDecision[]
StackMap stack:
aload 2
invokevirtual com.oracle.objectfile.LayoutDecision.dependsOn:()Ljava/util/List;
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
43: aload 4
invokevirtual com.oracle.objectfile.LayoutDecision.dependedOnBy:()Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 44: iinc 5 1
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] top int int com.oracle.objectfile.LayoutDecision[]
StackMap stack:
45: iload 5
iload 6
if_icmplt 40
46: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 47
aload 0
getfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
iconst_1
if_icmpgt 47
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
47: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[]
StackMap stack:
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getOffsetBootstrapElement:()Lcom/oracle/objectfile/ObjectFile$Element;
astore 4
start local 4 48: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsByElement:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
astore 5
start local 5 49: iconst_0
istore 6
start local 6 50: iconst_0
istore 7
start local 7 51: aload 0
getfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 9
goto 91
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int top java.util.Iterator
StackMap stack:
52: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 8
start local 8 53: aload 8
invokevirtual com.oracle.objectfile.LayoutDecision.getKind:()Lcom/oracle/objectfile/LayoutDecision$Kind;
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
if_acmpne 59
aload 8
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
aload 4
if_acmpne 59
54: iconst_1
istore 7
55: aload 8
invokevirtual com.oracle.objectfile.LayoutDecision.dependsOn:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 58
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int com.oracle.objectfile.LayoutDecision java.util.Iterator top java.util.Iterator
StackMap stack:
56: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 10
start local 10 57: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 58
aload 10
invokevirtual com.oracle.objectfile.LayoutDecision.getKind:()Lcom/oracle/objectfile/LayoutDecision$Kind;
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
if_acmpne 58
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 10 58: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 56
59: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int com.oracle.objectfile.LayoutDecision java.util.Iterator
StackMap stack:
aload 8
invokevirtual com.oracle.objectfile.LayoutDecision.getKind:()Lcom/oracle/objectfile/LayoutDecision$Kind;
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
if_acmpne 91
aload 8
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
aload 4
if_acmpeq 91
aload 8
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
ifnull 91
60: aload 0
getfield com.oracle.objectfile.ObjectFile.dependenciesByDependingElement:Ljava/util/Map;
aload 8
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 10
start local 10 61: aload 0
getfield com.oracle.objectfile.ObjectFile.dependenciesByDependedOnElement:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 11
start local 11 62: aload 10
ifnonnull 65
63: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
64: aload 0
getfield com.oracle.objectfile.ObjectFile.dependenciesByDependingElement:Ljava/util/Map;
aload 8
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
65: StackMap locals: java.util.List java.util.List
StackMap stack:
aload 11
ifnonnull 68
66: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
67: aload 0
getfield com.oracle.objectfile.ObjectFile.dependenciesByDependedOnElement:Ljava/util/Map;
aload 4
aload 11
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
68: StackMap locals:
StackMap stack:
iconst_0
istore 12
start local 12 69: aload 10
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 74
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int com.oracle.objectfile.LayoutDecision java.util.Iterator java.util.List java.util.List int top java.util.Iterator
StackMap stack:
70: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.BuildDependency
astore 13
start local 13 71: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 72
aload 13
getfield com.oracle.objectfile.BuildDependency.depending:Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
aload 8
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
if_acmpeq 72
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
72: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int com.oracle.objectfile.LayoutDecision java.util.Iterator java.util.List java.util.List int com.oracle.objectfile.BuildDependency java.util.Iterator
StackMap stack:
aload 13
getfield com.oracle.objectfile.BuildDependency.depending:Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getKind:()Lcom/oracle/objectfile/LayoutDecision$Kind;
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
if_acmpne 74
aload 13
getfield com.oracle.objectfile.BuildDependency.dependedOn:Lcom/oracle/objectfile/LayoutDecision;
aload 5
if_acmpne 74
73: iconst_1
istore 12
end local 13 74: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int com.oracle.objectfile.LayoutDecision java.util.Iterator java.util.List java.util.List int top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 70
75: iconst_0
istore 13
start local 13 76: aload 11
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 15
goto 81
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int com.oracle.objectfile.LayoutDecision java.util.Iterator java.util.List java.util.List int int top java.util.Iterator
StackMap stack:
77: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.BuildDependency
astore 14
start local 14 78: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 79
aload 14
getfield com.oracle.objectfile.BuildDependency.dependedOn:Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
aload 4
if_acmpeq 79
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
79: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int com.oracle.objectfile.LayoutDecision java.util.Iterator java.util.List java.util.List int int com.oracle.objectfile.BuildDependency java.util.Iterator
StackMap stack:
aload 14
getfield com.oracle.objectfile.BuildDependency.dependedOn:Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getKind:()Lcom/oracle/objectfile/LayoutDecision$Kind;
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
if_acmpne 81
aload 14
getfield com.oracle.objectfile.BuildDependency.depending:Lcom/oracle/objectfile/LayoutDecision;
aload 8
if_acmpne 81
80: iconst_1
istore 13
end local 14 81: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int com.oracle.objectfile.LayoutDecision java.util.Iterator java.util.List java.util.List int int top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 77
82: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 85
iload 12
ifne 83
iload 13
ifeq 85
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int com.oracle.objectfile.LayoutDecision java.util.Iterator java.util.List java.util.List int int
StackMap stack:
83: iload 12
ifeq 84
iload 13
ifne 85
StackMap locals:
StackMap stack:
84: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
85: StackMap locals:
StackMap stack:
iload 12
ifne 90
86: aload 8
aload 5
invokestatic com.oracle.objectfile.BuildDependency.createOrGet:(Lcom/oracle/objectfile/LayoutDecision;Lcom/oracle/objectfile/LayoutDecision;)Lcom/oracle/objectfile/BuildDependency;
astore 14
start local 14 87: aload 10
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
88: aload 11
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
89: aload 0
getfield com.oracle.objectfile.ObjectFile.allDependencies:Ljava/util/TreeSet;
aload 14
invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
pop
end local 14 90: StackMap locals:
StackMap stack:
iconst_1
istore 6
end local 13 end local 12 end local 11 end local 10 end local 8 91: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 52
92: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 93
iload 7
ifne 93
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
93: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 94
iload 6
ifne 94
aload 0
getfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
invokevirtual com.oracle.objectfile.ElementList.size:()I
iconst_1
if_icmpeq 94
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
94: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 95: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 9
start local 9 96: aload 9
aload 0
getfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
97: aload 0
getfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 11
goto 100
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set top java.util.Iterator
StackMap stack:
98: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 10
start local 10 99: aload 9
aload 10
invokevirtual com.oracle.objectfile.LayoutDecision.dependsOn:()Ljava/util/List;
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
end local 10 100: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 98
101: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 102
aload 9
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 102
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
102: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 10
start local 10 103: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 11
start local 11 104: aload 0
getfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 13
goto 108
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
105: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 12
start local 12 106: aload 10
aload 12
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
107: aload 11
aload 12
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 108: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 105
109: new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 12
start local 12 110: aload 12
aload 9
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
111: goto 129
112: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map java.util.Set
StackMap stack:
aload 12
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 13
start local 13 113: aload 12
aload 13
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
114: aload 8
aload 13
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
115: aload 13
invokevirtual com.oracle.objectfile.LayoutDecision.dependsOn:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 15
goto 128
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map java.util.Set com.oracle.objectfile.LayoutDecision top java.util.Iterator
StackMap stack:
116: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 14
start local 14 117: aload 10
aload 13
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayList
aload 14
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifeq 119
118: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 128
aload 11
aload 14
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayList
aload 13
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifne 128
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
119: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map java.util.Set com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision java.util.Iterator
StackMap stack:
aload 10
aload 13
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayList
aload 14
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
120: aload 11
aload 14
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayList
aload 13
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
121: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 16
start local 16 122: aload 16
aload 14
invokevirtual com.oracle.objectfile.LayoutDecision.dependedOnBy:()Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
123: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 124
aload 16
aload 13
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifne 124
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
124: StackMap locals: java.util.ArrayList
StackMap stack:
aload 16
aload 11
aload 14
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokevirtual java.util.ArrayList.removeAll:(Ljava/util/Collection;)Z
pop
125: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 126
aload 16
aload 13
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifeq 126
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
126: StackMap locals:
StackMap stack:
aload 16
invokevirtual java.util.ArrayList.size:()I
ifne 128
127: aload 12
aload 14
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 14 128: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map java.util.Set com.oracle.objectfile.LayoutDecision top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 116
end local 13 129: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map java.util.Set
StackMap stack:
aload 12
invokeinterface java.util.Set.isEmpty:()Z
ifeq 112
130: aload 8
invokeinterface java.util.List.size:()I
aload 0
getfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
if_icmpeq 135
131: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 13
start local 13 132: aload 13
aload 0
getfield com.oracle.objectfile.ObjectFile.allDecisions:Ljava/util/HashSet;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
133: aload 13
aload 8
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
134: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "cyclic build dependencies: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 13
invokevirtual com.oracle.objectfile.ObjectFile.dependencyGraphAsDotString:(Ljava/util/Set;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 13 135: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 136
aload 8
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aload 2
if_acmpeq 136
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
136: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 8
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 13
start local 13 137: aload 8
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 14
start local 14 138: goto 141
139: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 13
aload 8
iload 14
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
140: iinc 14 -1
StackMap locals:
StackMap stack:
141: iload 14
ifge 139
end local 14 142: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
143: aload 0
getfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
invokevirtual com.oracle.objectfile.ElementList.iterator:()Ljava/util/Iterator;
astore 15
goto 146
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map java.util.Set java.util.ArrayList top java.util.Iterator
StackMap stack:
144: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.ObjectFile$Element
astore 14
start local 14 145: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
aload 14
new com.oracle.objectfile.LayoutDecisionMap
dup
aload 14
invokespecial com.oracle.objectfile.LayoutDecisionMap.<init>:(Lcom/oracle/objectfile/ObjectFile$Element;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 14 146: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 144
147: aload 13
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 15
goto 178
StackMap locals:
StackMap stack:
148: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecision
astore 14
start local 14 149: aload 14
invokevirtual com.oracle.objectfile.LayoutDecision.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
astore 16
start local 16 150: aload 16
ifnonnull 152
151: goto 178
152: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map java.util.Set java.util.ArrayList com.oracle.objectfile.LayoutDecision java.util.Iterator com.oracle.objectfile.ObjectFile$Element
StackMap stack:
aconst_null
astore 17
start local 17 153: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
invokestatic com.oracle.objectfile.ObjectFile.nextAvailableOffset:(Ljava/util/Map;)I
istore 18
start local 18 154: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
iconst_0
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.initialVaddr:()I
invokestatic com.oracle.objectfile.ObjectFile.nextAvailableVaddr:(Ljava/util/Map;II)I
istore 19
start local 19 155: aload 14
invokevirtual com.oracle.objectfile.LayoutDecision.isTaken:()Z
ifeq 158
156: aload 14
invokevirtual com.oracle.objectfile.LayoutDecision.getValue:()Ljava/lang/Object;
astore 17
157: goto 175
158: StackMap locals: java.lang.Object int int
StackMap stack:
invokestatic com.oracle.objectfile.ObjectFile.$SWITCH_TABLE$com$oracle$objectfile$LayoutDecision$Kind:()[I
aload 14
invokevirtual com.oracle.objectfile.LayoutDecision.getKind:()Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecision$Kind.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 161
2: 163
3: 159
4: 173
5: 171
default: 173
}
159: StackMap locals:
StackMap stack:
aload 16
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
iconst_0
newarray 8
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOrDecideContent:(Ljava/util/Map;[B)[B
astore 17
160: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 174
aload 17
ifnonnull 174
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
161: StackMap locals:
StackMap stack:
aload 16
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
iload 18
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOrDecideOffset:(Ljava/util/Map;I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 17
162: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 174
aload 17
ifnonnull 174
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
163: StackMap locals:
StackMap stack:
aconst_null
astore 20
start local 20 164: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
aload 16
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.CONTENT:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
ifnull 166
165: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
aload 16
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.CONTENT:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getValue:()Ljava/lang/Object;
checkcast byte[]
astore 20
166: StackMap locals: byte[]
StackMap stack:
aload 16
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
aload 20
ifnull 167
aload 20
arraylength
goto 168
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map java.util.Set java.util.ArrayList com.oracle.objectfile.LayoutDecision java.util.Iterator com.oracle.objectfile.ObjectFile$Element java.lang.Object int int byte[]
StackMap stack: com.oracle.objectfile.ObjectFile$Element java.util.Map
167: iconst_m1
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map java.util.Set java.util.ArrayList com.oracle.objectfile.LayoutDecision java.util.Iterator com.oracle.objectfile.ObjectFile$Element java.lang.Object int int byte[]
StackMap stack: com.oracle.objectfile.ObjectFile$Element java.util.Map int
168: invokevirtual com.oracle.objectfile.ObjectFile$Element.getOrDecideSize:(Ljava/util/Map;I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 17
169: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 170
aload 17
ifnonnull 170
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
170: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 174
aload 17
instanceof java.lang.Integer
ifeq 174
aload 17
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iconst_m1
if_icmpne 174
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 20 171: StackMap locals:
StackMap stack:
aload 16
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
iload 19
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOrDecideVaddr:(Ljava/util/Map;I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 17
172: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 174
aload 17
ifnonnull 174
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
173: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "unreachable"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
174: StackMap locals:
StackMap stack:
aload 14
aload 17
invokevirtual com.oracle.objectfile.LayoutDecision.setValue:(Ljava/lang/Object;)V
175: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
aload 16
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
astore 20
start local 20 176: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 177
aload 20
ifnonnull 177
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
177: StackMap locals: com.oracle.objectfile.LayoutDecisionMap
StackMap stack:
aload 20
getfield com.oracle.objectfile.LayoutDecisionMap.decisions:Ljava/util/HashMap;
aload 14
invokevirtual com.oracle.objectfile.LayoutDecision.getKind:()Lcom/oracle/objectfile/LayoutDecision$Kind;
aload 14
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 20 end local 19 end local 18 end local 17 end local 16 end local 14 178: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map java.util.Set java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 148
179: aload 1
aload 0
getfield com.oracle.objectfile.ObjectFile.elements:Lcom/oracle/objectfile/ElementList;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
180: aload 1
new com.oracle.objectfile.ObjectFile$ElementComparatorByDecidedOffset
dup
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsByElement:Ljava/util/Map;
invokespecial com.oracle.objectfile.ObjectFile$ElementComparatorByDecidedOffset.<init>:(Ljava/util/Map;)V
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
181: aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getMinimumFileSize:()I
istore 14
start local 14 182: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 16
goto 185
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List com.oracle.objectfile.LayoutDecision com.oracle.objectfile.LayoutDecision[] com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.LayoutDecision int int java.util.List java.util.Set java.util.Map java.util.Map java.util.Set java.util.ArrayList int top java.util.Iterator
StackMap stack:
183: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.ObjectFile$Element
astore 15
start local 15 184: iload 14
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
aload 15
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
aload 15
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecidedValue:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iadd
invokestatic java.lang.Math.max:(II)I
istore 14
end local 15 185: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 183
186: iload 14
ireturn
end local 14 end local 13 end local 12 end local 11 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 187 0 this Lcom/oracle/objectfile/ObjectFile;
0 187 1 sortedObjectFileElements Ljava/util/List<Lcom/oracle/objectfile/ObjectFile$Element;>;
6 13 2 e Lcom/oracle/objectfile/ObjectFile$Element;
7 13 4 m Lcom/oracle/objectfile/LayoutDecisionMap;
16 35 2 e Lcom/oracle/objectfile/ObjectFile$Element;
17 35 4 deps Ljava/lang/Iterable<Lcom/oracle/objectfile/BuildDependency;>;
19 34 5 dep Lcom/oracle/objectfile/BuildDependency;
21 34 7 dependingElement Lcom/oracle/objectfile/ObjectFile$Element;
22 34 8 dependedOnElement Lcom/oracle/objectfile/ObjectFile$Element;
23 34 9 byDepending Ljava/util/List<Lcom/oracle/objectfile/BuildDependency;>;
27 34 10 byDependedOn Ljava/util/List<Lcom/oracle/objectfile/BuildDependency;>;
37 187 2 dummyFinalDecision Lcom/oracle/objectfile/LayoutDecision;
38 187 3 realDecisions [Lcom/oracle/objectfile/LayoutDecision;
41 44 4 decision Lcom/oracle/objectfile/LayoutDecision;
48 187 4 offsetBootstrapElement Lcom/oracle/objectfile/ObjectFile$Element;
49 187 5 offsetBootstrapDecision Lcom/oracle/objectfile/LayoutDecision;
50 187 6 added Z
51 187 7 sawBootstrapOffsetDecision Z
53 91 8 d Lcom/oracle/objectfile/LayoutDecision;
57 58 10 dependedOn Lcom/oracle/objectfile/LayoutDecision;
61 91 10 l1 Ljava/util/List<Lcom/oracle/objectfile/BuildDependency;>;
62 91 11 l2 Ljava/util/List<Lcom/oracle/objectfile/BuildDependency;>;
69 91 12 l1contains Z
71 74 13 dep1 Lcom/oracle/objectfile/BuildDependency;
76 91 13 l2contains Z
78 81 14 dep2 Lcom/oracle/objectfile/BuildDependency;
87 90 14 dep Lcom/oracle/objectfile/BuildDependency;
95 187 8 reverseBuildOrder Ljava/util/List<Lcom/oracle/objectfile/LayoutDecision;>;
96 187 9 decisionsWithNoInEdges Ljava/util/Set<Lcom/oracle/objectfile/LayoutDecision;>;
99 100 10 d Lcom/oracle/objectfile/LayoutDecision;
103 187 10 removedEdgesDependingOn Ljava/util/Map<Lcom/oracle/objectfile/LayoutDecision;Ljava/util/ArrayList<Lcom/oracle/objectfile/LayoutDecision;>;>;
104 187 11 removedEdgesDependedOnBy Ljava/util/Map<Lcom/oracle/objectfile/LayoutDecision;Ljava/util/ArrayList<Lcom/oracle/objectfile/LayoutDecision;>;>;
106 108 12 l Lcom/oracle/objectfile/LayoutDecision;
110 187 12 working Ljava/util/Set<Lcom/oracle/objectfile/LayoutDecision;>;
113 129 13 n Lcom/oracle/objectfile/LayoutDecision;
117 128 14 m Lcom/oracle/objectfile/LayoutDecision;
122 128 16 mInEdges Ljava/util/ArrayList<Lcom/oracle/objectfile/LayoutDecision;>;
132 135 13 remainingDecisions Ljava/util/Set<Lcom/oracle/objectfile/LayoutDecision;>;
137 187 13 buildOrder Ljava/util/ArrayList<Lcom/oracle/objectfile/LayoutDecision;>;
138 142 14 i I
145 146 14 e Lcom/oracle/objectfile/ObjectFile$Element;
149 178 14 d Lcom/oracle/objectfile/LayoutDecision;
150 178 16 e Lcom/oracle/objectfile/ObjectFile$Element;
153 178 17 valueDecided Ljava/lang/Object;
154 178 18 offsetHint I
155 178 19 vaddrHint I
164 171 20 decidedContent [B
176 178 20 m Lcom/oracle/objectfile/LayoutDecisionMap;
182 187 14 totalSize I
184 185 15 e Lcom/oracle/objectfile/ObjectFile$Element;
Signature: (Ljava/util/List<Lcom/oracle/objectfile/ObjectFile$Element;>;)I
MethodParameters:
Name Flags
sortedObjectFileElements
public java.util.Map<com.oracle.objectfile.ObjectFile$Element, com.oracle.objectfile.LayoutDecisionMap> getDecisionsByElement();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsByElement:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/objectfile/ObjectFile;
Signature: ()Ljava/util/Map<Lcom/oracle/objectfile/ObjectFile$Element;Lcom/oracle/objectfile/LayoutDecisionMap;>;
private static java.nio.Buffer asBaseBuffer(java.nio.Buffer);
descriptor: (Ljava/nio/Buffer;)Ljava/nio/Buffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 obj Ljava/nio/Buffer;
MethodParameters:
Name Flags
obj
public void writeBuffer(java.util.List<com.oracle.objectfile.ObjectFile$Element>, java.nio.ByteBuffer);
descriptor: (Ljava/util/List;Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: com.oracle.objectfile.ObjectFile java.util.List java.nio.ByteBuffer top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.ObjectFile$Element
astore 3
start local 3 2: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecision:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Lcom/oracle/objectfile/LayoutDecision;
invokevirtual com.oracle.objectfile.LayoutDecision.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 5
start local 5 3: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 4
iload 5
ldc 2147483647
if_icmpne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List java.nio.ByteBuffer com.oracle.objectfile.ObjectFile$Element java.util.Iterator int
StackMap stack:
aload 2
invokestatic com.oracle.objectfile.ObjectFile.asBaseBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
iload 5
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
5: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecidedValue:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 6
start local 6 6: aload 0
getfield com.oracle.objectfile.ObjectFile.decisionsTaken:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.objectfile.LayoutDecisionMap
getstatic com.oracle.objectfile.LayoutDecision$Kind.CONTENT:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecisionMap.getDecidedValue:(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/lang/Object;
checkcast byte[]
astore 7
start local 7 7: aload 2
aload 7
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
8: aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iload 5
isub
istore 8
start local 8 9: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 10
iload 8
ifge 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: int byte[] int
StackMap stack:
iload 8
iload 6
if_icmpeq 12
11: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "For element "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", expected size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " but emitted size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 end local 6 end local 5 end local 3 12: StackMap locals: com.oracle.objectfile.ObjectFile java.util.List java.nio.ByteBuffer top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/objectfile/ObjectFile;
0 14 1 sortedObjectFileElements Ljava/util/List<Lcom/oracle/objectfile/ObjectFile$Element;>;
0 14 2 out Ljava/nio/ByteBuffer;
2 12 3 e Lcom/oracle/objectfile/ObjectFile$Element;
3 12 5 off I
6 12 6 expectedSize I
7 12 7 content [B
9 12 8 emittedSize I
Signature: (Ljava/util/List<Lcom/oracle/objectfile/ObjectFile$Element;>;Ljava/nio/ByteBuffer;)V
MethodParameters:
Name Flags
sortedObjectFileElements
out
protected abstract int getMinimumFileSize();
descriptor: ()I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public int getPageSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.objectfile.ObjectFile.pageSize:I
ifgt 1
new java.lang.AssertionError
dup
ldc "must be initialized"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.objectfile.ObjectFile.pageSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/objectfile/ObjectFile;
public int getPageSizeShift();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
istore 1
start local 1 1: iload 1
invokestatic java.lang.Integer.numberOfTrailingZeros:(I)I
istore 2
start local 2 2: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/objectfile/ObjectFile;
1 3 1 pagesize I
2 3 2 pageSizeShift I
public int roundUpToPageSize(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getPageSizeShift:()I
istore 2
start local 2 1: iload 1
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
irem
ifne 3
2: iload 1
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
iload 2
ishr
iconst_1
iadd
iload 2
ishl
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/objectfile/ObjectFile;
0 4 1 x I
1 4 2 pageShift I
MethodParameters:
Name Flags
x
public abstract com.oracle.objectfile.ObjectFile$Symbol createDefinedSymbol(java.lang.String, com.oracle.objectfile.ObjectFile$Element, long, int, boolean, boolean);
descriptor: (Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;JIZZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
name
baseSection
position
size
isCode
isGlobal
public abstract com.oracle.objectfile.ObjectFile$Symbol createUndefinedSymbol(java.lang.String, int, boolean);
descriptor: (Ljava/lang/String;IZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
name
size
isCode
protected abstract com.oracle.objectfile.SymbolTable createSymbolTable();
descriptor: ()Lcom/oracle/objectfile/SymbolTable;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public abstract com.oracle.objectfile.SymbolTable getSymbolTable();
descriptor: ()Lcom/oracle/objectfile/SymbolTable;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public final com.oracle.objectfile.SymbolTable getOrCreateSymbolTable();
descriptor: ()Lcom/oracle/objectfile/SymbolTable;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.objectfile.ObjectFile.getSymbolTable:()Lcom/oracle/objectfile/SymbolTable;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: com.oracle.objectfile.SymbolTable
StackMap stack:
aload 0
invokevirtual com.oracle.objectfile.ObjectFile.createSymbolTable:()Lcom/oracle/objectfile/SymbolTable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/objectfile/ObjectFile;
1 4 1 t Lcom/oracle/objectfile/SymbolTable;
public void withDebugContext(org.graalvm.compiler.debug.DebugContext, java.lang.String, java.lang.Runnable);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
aconst_null
astore 5
1: aload 1
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 6
start local 6 2: aload 0
aload 1
putfield com.oracle.objectfile.ObjectFile.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
3: aload 3
invokeinterface java.lang.Runnable.run:()V
4: aload 6
ifnull 15
aload 6
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 15
StackMap locals: com.oracle.objectfile.ObjectFile org.graalvm.compiler.debug.DebugContext java.lang.String java.lang.Runnable java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
5: astore 4
aload 6
ifnull 6
aload 6
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 6 StackMap locals:
StackMap stack:
6: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 5
aload 4
ifnonnull 8
aload 5
astore 4
goto 9
StackMap locals:
StackMap stack:
8: aload 4
aload 5
if_acmpeq 9
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 4
athrow
StackMap locals: com.oracle.objectfile.ObjectFile org.graalvm.compiler.debug.DebugContext java.lang.String java.lang.Runnable
StackMap stack: java.lang.Throwable
10: astore 4
start local 4 11: aload 0
getfield com.oracle.objectfile.ObjectFile.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
13: aload 0
aconst_null
putfield com.oracle.objectfile.ObjectFile.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
14: aload 7
athrow
15: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.oracle.objectfile.ObjectFile.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/objectfile/ObjectFile;
0 17 1 context Lorg/graalvm/compiler/debug/DebugContext;
0 17 2 scopeName Ljava/lang/String;
0 17 3 task Ljava/lang/Runnable;
2 6 6 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
11 12 4 e Ljava/lang/Throwable;
Exception table:
from to target type
2 4 5 any
1 7 7 any
0 10 10 Class java.lang.Throwable
0 12 12 any
MethodParameters:
Name Flags
context
scopeName
task
public void debugContext(java.lang.String, java.util.function.Consumer<org.graalvm.compiler.debug.DebugContext>);
descriptor: (Ljava/lang/String;Ljava/util/function/Consumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.objectfile.ObjectFile.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.objectfile.ObjectFile.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aconst_null
astore 3
aconst_null
astore 4
2: aload 0
getfield com.oracle.objectfile.ObjectFile.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 5
start local 5 3: aload 2
aload 0
getfield com.oracle.objectfile.ObjectFile.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
4: aload 5
ifnull 12
aload 5
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 12
StackMap locals: com.oracle.objectfile.ObjectFile java.lang.String java.util.function.Consumer java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
5: astore 3
aload 5
ifnull 6
aload 5
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 5 StackMap locals:
StackMap stack:
6: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 4
aload 3
ifnonnull 8
aload 4
astore 3
goto 9
StackMap locals:
StackMap stack:
8: aload 3
aload 4
if_acmpeq 9
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 3
athrow
StackMap locals: com.oracle.objectfile.ObjectFile java.lang.String java.util.function.Consumer
StackMap stack: java.lang.Throwable
10: astore 3
start local 3 11: aload 0
getfield com.oracle.objectfile.ObjectFile.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/objectfile/ObjectFile;
0 13 1 scopeName Ljava/lang/String;
0 13 2 action Ljava/util/function/Consumer<Lorg/graalvm/compiler/debug/DebugContext;>;
3 6 5 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
11 12 3 e Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 any
2 7 7 any
1 10 10 Class java.lang.Throwable
Signature: (Ljava/lang/String;Ljava/util/function/Consumer<Lorg/graalvm/compiler/debug/DebugContext;>;)V
MethodParameters:
Name Flags
scopeName
action
static int[] $SWITCH_TABLE$com$oracle$objectfile$ObjectFile$Format();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.objectfile.ObjectFile.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$Format:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.objectfile.ObjectFile$Format.values:()[Lcom/oracle/objectfile/ObjectFile$Format;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.objectfile.ObjectFile$Format.ELF:Lcom/oracle/objectfile/ObjectFile$Format;
invokevirtual com.oracle.objectfile.ObjectFile$Format.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.objectfile.ObjectFile$Format.MACH_O:Lcom/oracle/objectfile/ObjectFile$Format;
invokevirtual com.oracle.objectfile.ObjectFile$Format.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.objectfile.ObjectFile$Format.PECOFF:Lcom/oracle/objectfile/ObjectFile$Format;
invokevirtual com.oracle.objectfile.ObjectFile$Format.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic com.oracle.objectfile.ObjectFile.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$Format:[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
static int[] $SWITCH_TABLE$com$oracle$objectfile$LayoutDecision$Kind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.objectfile.ObjectFile.$SWITCH_TABLE$com$oracle$objectfile$LayoutDecision$Kind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.objectfile.LayoutDecision$Kind.values:()[Lcom/oracle/objectfile/LayoutDecision$Kind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.objectfile.LayoutDecision$Kind.CONTENT:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecision$Kind.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.objectfile.LayoutDecision$Kind.IDENTITY:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecision$Kind.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.objectfile.LayoutDecision$Kind.OFFSET:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecision$Kind.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.objectfile.LayoutDecision$Kind.SIZE:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecision$Kind.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.objectfile.LayoutDecision$Kind.VADDR:Lcom/oracle/objectfile/LayoutDecision$Kind;
invokevirtual com.oracle.objectfile.LayoutDecision$Kind.ordinal:()I
iconst_5
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic com.oracle.objectfile.ObjectFile.$SWITCH_TABLE$com$oracle$objectfile$LayoutDecision$Kind:[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
private static java.util.Iterator lambda$0(java.util.Map);
descriptor: (Ljava/util/Map;)Ljava/util/Iterator;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.spliterator:()Ljava/util/Spliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/objectfile/ObjectFile.lambda$1(Lcom/oracle/objectfile/LayoutDecisionMap;)Ljava/util/stream/Stream; (6)
(Lcom/oracle/objectfile/LayoutDecisionMap;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.iterator:()Ljava/util/Iterator;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.util.Iterator lambda$2(java.util.Map, com.oracle.objectfile.LayoutDecision$Kind);
descriptor: (Ljava/util/Map;Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/util/Iterator;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.spliterator:()Ljava/util/Spliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/objectfile/ObjectFile.lambda$3(Lcom/oracle/objectfile/LayoutDecisionMap;)Ljava/util/stream/Stream; (6)
(Lcom/oracle/objectfile/LayoutDecisionMap;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: aload 1
invokedynamic test(Lcom/oracle/objectfile/LayoutDecision$Kind;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/oracle/objectfile/ObjectFile.lambda$4(Lcom/oracle/objectfile/LayoutDecision$Kind;Lcom/oracle/objectfile/LayoutDecision;)Z (6)
(Lcom/oracle/objectfile/LayoutDecision;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.iterator:()Ljava/util/Iterator;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$5(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.cleaner:()Ljdk/internal/ref/Cleaner;
invokevirtual jdk.internal.ref.Cleaner.clean:()V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
private static java.util.stream.Stream lambda$1(com.oracle.objectfile.LayoutDecisionMap);
descriptor: (Lcom/oracle/objectfile/LayoutDecisionMap;)Ljava/util/stream/Stream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.objectfile.LayoutDecisionMap.spliterator:()Ljava/util/Spliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 layoutDecisionMap Lcom/oracle/objectfile/LayoutDecisionMap;
private static java.util.stream.Stream lambda$3(com.oracle.objectfile.LayoutDecisionMap);
descriptor: (Lcom/oracle/objectfile/LayoutDecisionMap;)Ljava/util/stream/Stream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.objectfile.LayoutDecisionMap.spliterator:()Ljava/util/Spliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 layoutDecisionMap Lcom/oracle/objectfile/LayoutDecisionMap;
private static boolean lambda$4(com.oracle.objectfile.LayoutDecision$Kind, com.oracle.objectfile.LayoutDecision);
descriptor: (Lcom/oracle/objectfile/LayoutDecision$Kind;Lcom/oracle/objectfile/LayoutDecision;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual com.oracle.objectfile.LayoutDecision.getKind:()Lcom/oracle/objectfile/LayoutDecision$Kind;
aload 0
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 decision Lcom/oracle/objectfile/LayoutDecision;
}
SourceFile: "ObjectFile.java"
NestMembers:
com.oracle.objectfile.ObjectFile$Element com.oracle.objectfile.ObjectFile$ElementComparatorByDecidedOffset com.oracle.objectfile.ObjectFile$Format com.oracle.objectfile.ObjectFile$Header com.oracle.objectfile.ObjectFile$IntegerDecisionComparator com.oracle.objectfile.ObjectFile$NobitsSectionImpl com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl com.oracle.objectfile.ObjectFile$RelocatableSectionImpl com.oracle.objectfile.ObjectFile$RelocationKind com.oracle.objectfile.ObjectFile$RelocationMethod com.oracle.objectfile.ObjectFile$RelocationRecord com.oracle.objectfile.ObjectFile$RelocationSiteInfo com.oracle.objectfile.ObjectFile$Section com.oracle.objectfile.ObjectFile$Segment com.oracle.objectfile.ObjectFile$SizeTiebreakComparator com.oracle.objectfile.ObjectFile$Symbol com.oracle.objectfile.ObjectFile$ValueEnum
InnerClasses:
public final Kind = com.oracle.objectfile.LayoutDecision$Kind of com.oracle.objectfile.LayoutDecision
public abstract Element = com.oracle.objectfile.ObjectFile$Element of com.oracle.objectfile.ObjectFile
public ElementComparatorByDecidedOffset = com.oracle.objectfile.ObjectFile$ElementComparatorByDecidedOffset of com.oracle.objectfile.ObjectFile
public final Format = com.oracle.objectfile.ObjectFile$Format of com.oracle.objectfile.ObjectFile
public abstract Header = com.oracle.objectfile.ObjectFile$Header of com.oracle.objectfile.ObjectFile
public IntegerDecisionComparator = com.oracle.objectfile.ObjectFile$IntegerDecisionComparator of com.oracle.objectfile.ObjectFile
public abstract NobitsSectionImpl = com.oracle.objectfile.ObjectFile$NobitsSectionImpl of com.oracle.objectfile.ObjectFile
public abstract ProgbitsSectionImpl = com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl of com.oracle.objectfile.ObjectFile
public abstract RelocatableSectionImpl = com.oracle.objectfile.ObjectFile$RelocatableSectionImpl of com.oracle.objectfile.ObjectFile
public final RelocationKind = com.oracle.objectfile.ObjectFile$RelocationKind of com.oracle.objectfile.ObjectFile
public abstract RelocationMethod = com.oracle.objectfile.ObjectFile$RelocationMethod of com.oracle.objectfile.ObjectFile
public abstract RelocationRecord = com.oracle.objectfile.ObjectFile$RelocationRecord of com.oracle.objectfile.ObjectFile
public abstract RelocationSiteInfo = com.oracle.objectfile.ObjectFile$RelocationSiteInfo of com.oracle.objectfile.ObjectFile
public abstract Section = com.oracle.objectfile.ObjectFile$Section of com.oracle.objectfile.ObjectFile
public abstract Segment = com.oracle.objectfile.ObjectFile$Segment of com.oracle.objectfile.ObjectFile
public SizeTiebreakComparator = com.oracle.objectfile.ObjectFile$SizeTiebreakComparator of com.oracle.objectfile.ObjectFile
public abstract Symbol = com.oracle.objectfile.ObjectFile$Symbol of com.oracle.objectfile.ObjectFile
public abstract ValueEnum = com.oracle.objectfile.ObjectFile$ValueEnum of com.oracle.objectfile.ObjectFile
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public MapMode = java.nio.channels.FileChannel$MapMode of java.nio.channels.FileChannel
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext