public class com.oracle.svm.core.genscavenge.LinearImageHeapLayouter extends com.oracle.svm.core.genscavenge.AbstractImageHeapLayouter<com.oracle.svm.core.genscavenge.LinearImageHeapPartition>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.core.genscavenge.LinearImageHeapLayouter
super_class: com.oracle.svm.core.genscavenge.AbstractImageHeapLayouter
{
private final com.oracle.svm.core.genscavenge.ImageHeapInfo heapInfo;
descriptor: Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long startOffset;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean compressedNullPadding;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.oracle.svm.core.genscavenge.ImageHeapInfo, long, boolean);
descriptor: (Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;JZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokespecial com.oracle.svm.core.genscavenge.AbstractImageHeapLayouter.<init>:()V
1: aload 0
aload 1
putfield com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.heapInfo:Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;
2: aload 0
lload 2
putfield com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.startOffset:J
3: aload 0
iload 4
putfield com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.compressedNullPadding:Z
4: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/core/genscavenge/LinearImageHeapLayouter;
0 5 1 heapInfo Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;
0 5 2 startOffset J
0 5 4 compressedNullPadding Z
MethodParameters:
Name Flags
heapInfo
startOffset
compressedNullPadding
protected com.oracle.svm.core.genscavenge.LinearImageHeapPartition[] createPartitionsArray(int);
descriptor: (I)[Lcom/oracle/svm/core/genscavenge/LinearImageHeapPartition;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
anewarray com.oracle.svm.core.genscavenge.LinearImageHeapPartition
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/genscavenge/LinearImageHeapLayouter;
0 1 1 count I
MethodParameters:
Name Flags
count
protected com.oracle.svm.core.genscavenge.LinearImageHeapPartition createPartition(java.lang.String, boolean, boolean, boolean);
descriptor: (Ljava/lang/String;ZZZ)Lcom/oracle/svm/core/genscavenge/LinearImageHeapPartition;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.oracle.svm.core.genscavenge.LinearImageHeapPartition
dup
aload 1
iload 3
invokespecial com.oracle.svm.core.genscavenge.LinearImageHeapPartition.<init>:(Ljava/lang/String;Z)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/genscavenge/LinearImageHeapLayouter;
0 1 1 name Ljava/lang/String;
0 1 2 containsReferences Z
0 1 3 writable Z
0 1 4 hugeObjects Z
MethodParameters:
Name Flags
name
containsReferences
writable
hugeObjects
protected com.oracle.svm.core.image.ImageHeapLayoutInfo doLayout(com.oracle.svm.core.image.ImageHeap);
descriptor: (Lcom/oracle/svm/core/image/ImageHeap;)Lcom/oracle/svm/core/image/ImageHeapLayoutInfo;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.startOffset:J
lstore 2
start local 2 1: aload 0
getfield com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.compressedNullPadding:Z
ifeq 3
2: lload 2
invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
i2l
ladd
lstore 2
3: StackMap locals: long
StackMap stack:
new com.oracle.svm.core.genscavenge.LinearImageHeapAllocator
dup
lload 2
invokespecial com.oracle.svm.core.genscavenge.LinearImageHeapAllocator.<init>:(J)V
astore 4
start local 4 4: aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getPartitions:()[Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition[]
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 8
StackMap locals: com.oracle.svm.core.genscavenge.LinearImageHeapLayouter com.oracle.svm.core.image.ImageHeap long com.oracle.svm.core.genscavenge.LinearImageHeapAllocator top int int com.oracle.svm.core.genscavenge.LinearImageHeapPartition[]
StackMap stack:
5: aload 8
iload 6
aaload
astore 5
start local 5 6: aload 5
aload 4
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapPartition.allocateObjects:(Lcom/oracle/svm/core/genscavenge/LinearImageHeapAllocator;)V
end local 5 7: iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 7
if_icmplt 5
9: aload 0
aload 1
invokeinterface com.oracle.svm.core.image.ImageHeap.countDynamicHubs:()I
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.initializeHeapInfo:(I)V
10: aload 0
aload 0
getfield com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.startOffset:J
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getWritablePrimitive:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapPartition.getStartOffset:()J
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.createLayoutInfo:(JJ)Lcom/oracle/svm/core/image/ImageHeapLayoutInfo;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/svm/core/genscavenge/LinearImageHeapLayouter;
0 11 1 imageHeap Lcom/oracle/svm/core/image/ImageHeap;
1 11 2 beginOffset J
4 11 4 allocator Lcom/oracle/svm/core/genscavenge/LinearImageHeapAllocator;
6 7 5 partition Lcom/oracle/svm/core/genscavenge/LinearImageHeapPartition;
MethodParameters:
Name Flags
imageHeap
private void initializeHeapInfo(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=20, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.heapInfo:Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getReadOnlyPrimitive:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.firstObject:Ljava/lang/Object;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getReadOnlyPrimitive:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.lastObject:Ljava/lang/Object;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getReadOnlyReference:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.firstObject:Ljava/lang/Object;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getReadOnlyReference:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.lastObject:Ljava/lang/Object;
1: aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getReadOnlyRelocatable:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.firstObject:Ljava/lang/Object;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getReadOnlyRelocatable:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.lastObject:Ljava/lang/Object;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getWritablePrimitive:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.firstObject:Ljava/lang/Object;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getWritablePrimitive:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.lastObject:Ljava/lang/Object;
2: aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getWritableReference:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.firstObject:Ljava/lang/Object;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getWritableReference:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.lastObject:Ljava/lang/Object;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getWritableHuge:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.firstObject:Ljava/lang/Object;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getWritableHuge:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.lastObject:Ljava/lang/Object;
3: aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getReadOnlyHuge:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.firstObject:Ljava/lang/Object;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.getReadOnlyHuge:()Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
checkcast com.oracle.svm.core.genscavenge.LinearImageHeapPartition
getfield com.oracle.svm.core.genscavenge.LinearImageHeapPartition.lastObject:Ljava/lang/Object;
ldc -1
ldc -1
iload 1
4: invokevirtual com.oracle.svm.core.genscavenge.ImageHeapInfo.initialize:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;JJI)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/core/genscavenge/LinearImageHeapLayouter;
0 6 1 dynamicHubCount I
MethodParameters:
Name Flags
dynamicHubCount
protected com.oracle.svm.core.genscavenge.AbstractImageHeapLayouter$AbstractImageHeapPartition[] createPartitionsArray(int);
descriptor: (I)[Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.createPartitionsArray:(I)[Lcom/oracle/svm/core/genscavenge/LinearImageHeapPartition;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected com.oracle.svm.core.genscavenge.AbstractImageHeapLayouter$AbstractImageHeapPartition createPartition(java.lang.String, boolean, boolean, boolean);
descriptor: (Ljava/lang/String;ZZZ)Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter$AbstractImageHeapPartition;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
0: aload 0
aload 1
iload 2
iload 3
iload 4
invokevirtual com.oracle.svm.core.genscavenge.LinearImageHeapLayouter.createPartition:(Ljava/lang/String;ZZZ)Lcom/oracle/svm/core/genscavenge/LinearImageHeapPartition;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lcom/oracle/svm/core/genscavenge/AbstractImageHeapLayouter<Lcom/oracle/svm/core/genscavenge/LinearImageHeapPartition;>;
SourceFile: "LinearImageHeapLayouter.java"
InnerClasses:
public abstract AbstractImageHeapPartition = com.oracle.svm.core.genscavenge.AbstractImageHeapLayouter$AbstractImageHeapPartition of com.oracle.svm.core.genscavenge.AbstractImageHeapLayouter