public final class com.oracle.svm.core.genscavenge.AlignedHeapChunk
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.core.genscavenge.AlignedHeapChunk
super_class: java.lang.Object
{
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk;
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.svm.core.genscavenge.AlignedHeapChunk.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk;
static org.graalvm.word.Pointer (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.asPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStartOffset:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
MethodParameters:
Name Flags
that
static org.graalvm.word.Pointer (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.asPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableLimitOffset:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
MethodParameters:
Name Flags
that
static org.graalvm.word.Pointer (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.asPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStartOffset:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
MethodParameters:
Name Flags
that
static org.graalvm.word.Pointer (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.asPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableLimitOffset:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
MethodParameters:
Name Flags
that
static org.graalvm.word.Pointer (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.asPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStartOffset:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
MethodParameters:
Name Flags
that
static org.graalvm.word.Pointer (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, org.graalvm.word.UnsignedWord);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.word.Pointer
astore 2
start local 2 1: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.availableObjectMemory:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/UnsignedWord;
astore 3
start local 3 2: aload 1
aload 3
invokeinterface org.graalvm.word.UnsignedWord.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 6
3: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
astore 2
4: aload 2
aload 1
invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
astore 4
start local 4 5: aload 0
aload 4
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setTopPointerCarefully:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;)V
end local 4 6: StackMap locals: org.graalvm.word.Pointer org.graalvm.word.UnsignedWord
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
0 7 1 size Lorg/graalvm/word/UnsignedWord;
1 7 2 result Lorg/graalvm/word/Pointer;
2 7 3 available Lorg/graalvm/word/UnsignedWord;
5 6 4 newTop Lorg/graalvm/word/Pointer;
MethodParameters:
Name Flags
that
size
static org.graalvm.word.UnsignedWord (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/UnsignedWord;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getEndOffset:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStartOffset:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
that
static com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader (java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getEnclosingChunkFromObjectPointer:(Lorg/graalvm/word/Pointer;)Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 obj Ljava/lang/Object;
1 2 1 ptr Lorg/graalvm/word/Pointer;
MethodParameters:
Name Flags
obj
static com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader (org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAlignedHeapChunkAlignment:()Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.util.PointerUtils.roundDown:(Lorg/graalvm/word/PointerBase;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ptr Lorg/graalvm/word/Pointer;
MethodParameters:
Name Flags
ptr
static void (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
astore 1
start local 1 1: aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableIndexLimitForCurrentTop:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 2: aload 1
aload 2
invokestatic com.oracle.svm.core.genscavenge.CardTable.cleanTableToIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
1 4 1 cardTableStart Lorg/graalvm/word/Pointer;
2 4 2 indexLimit Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
that
private static org.graalvm.word.UnsignedWord (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/UnsignedWord;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopOffset:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStartOffset:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.svm.core.genscavenge.CardTable.indexLimitForMemorySize:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
1 2 1 memorySize Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
that
static void (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, java.lang.Object);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.$assertionsDisabled:Z
ifne 1
invokestatic com.oracle.svm.core.thread.VMOperation.isGCInProgress:()Z
ifne 1
new java.lang.AssertionError
dup
ldc "Should only be called from the collector."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.$assertionsDisabled:Z
ifne 2
aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getSpace:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/Space;
invokevirtual com.oracle.svm.core.genscavenge.Space.isYoungSpace:()Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
astore 2
start local 2 3: aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
astore 3
start local 3 4: aload 1
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
astore 4
start local 4 5: aload 1
invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
astore 5
start local 5 6: aload 2
aload 3
aload 4
aload 5
invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.setTableForObject:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)V
7: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.setRememberedSetBit:(Ljava/lang/Object;)V
8: return
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 9 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
0 9 1 obj Ljava/lang/Object;
3 9 2 fotStart Lorg/graalvm/word/Pointer;
4 9 3 memoryStart Lorg/graalvm/word/Pointer;
5 9 4 objStart Lorg/graalvm/word/Pointer;
6 9 5 objEnd Lorg/graalvm/word/Pointer;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.AlwaysInline(value = "GC performance")
MethodParameters:
Name Flags
that
obj
static void (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.GCImpl.getGCImpl:()Lcom/oracle/svm/core/genscavenge/GCImpl;
invokevirtual com.oracle.svm.core.genscavenge.GCImpl.getRememberedSetConstructor:()Lcom/oracle/svm/core/genscavenge/GCImpl$RememberedSetConstructor;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual com.oracle.svm.core.genscavenge.GCImpl$RememberedSetConstructor.initialize:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
2: aload 0
aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
aload 1
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.walkObjectsFromInline:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
pop
3: aload 1
invokevirtual com.oracle.svm.core.genscavenge.GCImpl$RememberedSetConstructor.reset:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
1 5 1 constructor Lcom/oracle/svm/core/genscavenge/GCImpl$RememberedSetConstructor;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.UNRESTRICTED:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, overridesCallers = true, reason = "Whitelisted because other ObjectVisitors are allowed to allocate.")
MethodParameters:
Name Flags
that
public static void dirtyCardForObject(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
astore 2
start local 2 1: aload 2
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getEnclosingChunkFromObjectPointer:(Lorg/graalvm/word/Pointer;)Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
astore 3
start local 3 2: aload 3
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
astore 4
start local 4 3: aload 3
aload 2
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectIndex:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
astore 5
start local 5 4: iload 1
ifeq 7
5: iconst_0
aload 4
aload 5
invokestatic com.oracle.svm.core.genscavenge.CardTable.isDirtyEntryAtIndexUnchecked:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
ldc "card must be dirty"
ldc ""
ldc ""
lconst_0
lconst_0
invokestatic org.graalvm.compiler.replacements.nodes.AssertionNode.assertion:(ZZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;JJ)V
6: goto 8
7: StackMap locals: java.lang.Object int org.graalvm.word.Pointer com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader org.graalvm.word.Pointer org.graalvm.word.UnsignedWord
StackMap stack:
aload 4
aload 5
invokestatic com.oracle.svm.core.genscavenge.CardTable.dirtyEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)V
8: StackMap locals:
StackMap stack:
return
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 9 0 object Ljava/lang/Object;
0 9 1 verifyOnly Z
1 9 2 objectPointer Lorg/graalvm/word/Pointer;
2 9 3 chunk Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
3 9 4 cardTableStart Lorg/graalvm/word/Pointer;
4 9 5 index Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
object
verifyOnly
private static org.graalvm.word.UnsignedWord (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, org.graalvm.word.Pointer);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
astore 2
start local 2 1: aload 1
aload 2
invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
0 2 1 objectPointer Lorg/graalvm/word/Pointer;
1 2 2 objectsStart Lorg/graalvm/word/Pointer;
MethodParameters:
Name Flags
that
objectPointer
private static org.graalvm.word.UnsignedWord (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, org.graalvm.word.Pointer);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectOffset:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 1: aload 2
invokestatic com.oracle.svm.core.genscavenge.CardTable.memoryOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
0 2 1 objectPointer Lorg/graalvm/word/Pointer;
1 2 2 offset Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
that
objectPointer
static boolean (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, com.oracle.svm.core.heap.ObjectVisitor);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
aload 1
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.walkObjectsFrom:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
0 1 1 visitor Lcom/oracle/svm/core/heap/ObjectVisitor;
MethodParameters:
Name Flags
that
visitor
static boolean (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, com.oracle.svm.core.heap.ObjectVisitor);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
aload 1
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.walkObjectsFromInline:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
0 1 1 visitor Lcom/oracle/svm/core/heap/ObjectVisitor;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.AlwaysInline(value = "GC performance")
MethodParameters:
Name Flags
that
visitor
static org.graalvm.word.UnsignedWord ();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
invokestatic org.graalvm.nativeimage.c.struct.SizeOf.get:(Ljava/lang/Class;)I
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
areturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static org.graalvm.word.UnsignedWord getCardTableStartOffset();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getHeaderSize:()Lorg/graalvm/word/UnsignedWord;
astore 0
start local 0 1: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 2: aload 0
aload 1
invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 headerSize Lorg/graalvm/word/UnsignedWord;
2 3 1 alignment Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static org.graalvm.word.UnsignedWord getCardTableSize();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=0
0: invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getHeaderSize:()Lorg/graalvm/word/UnsignedWord;
astore 0
start local 0 1: invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAlignedHeapChunkSize:()Lorg/graalvm/word/UnsignedWord;
aload 0
invokeinterface org.graalvm.word.UnsignedWord.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 2: aload 1
invokestatic com.oracle.svm.core.genscavenge.CardTable.tableSizeForMemorySize:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 3: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
astore 3
start local 3 4: aload 2
aload 3
invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 headerSize Lorg/graalvm/word/UnsignedWord;
2 5 1 available Lorg/graalvm/word/UnsignedWord;
3 5 2 requiredSize Lorg/graalvm/word/UnsignedWord;
4 5 3 alignment Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static org.graalvm.word.UnsignedWord getCardTableLimitOffset();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=0
0: invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStartOffset:()Lorg/graalvm/word/UnsignedWord;
astore 0
start local 0 1: invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableSize:()Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 2: aload 0
aload 1
invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 3: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
astore 3
start local 3 4: aload 2
aload 3
invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 tableStart Lorg/graalvm/word/UnsignedWord;
2 5 1 tableSize Lorg/graalvm/word/UnsignedWord;
3 5 2 tableLimit Lorg/graalvm/word/UnsignedWord;
4 5 3 alignment Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static org.graalvm.word.UnsignedWord getFirstObjectTableStartOffset();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableLimitOffset:()Lorg/graalvm/word/UnsignedWord;
astore 0
start local 0 1: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 2: aload 0
aload 1
invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 cardTableLimit Lorg/graalvm/word/UnsignedWord;
2 3 1 alignment Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static org.graalvm.word.UnsignedWord getFirstObjectTableSize();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableSize:()Lorg/graalvm/word/UnsignedWord;
areturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static org.graalvm.word.UnsignedWord getFirstObjectTableLimitOffset();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=0
0: invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStartOffset:()Lorg/graalvm/word/UnsignedWord;
astore 0
start local 0 1: invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableSize:()Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 2: aload 0
aload 1
invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 3: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
astore 3
start local 3 4: aload 2
aload 3
invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 fotStart Lorg/graalvm/word/UnsignedWord;
2 5 1 fotSize Lorg/graalvm/word/UnsignedWord;
3 5 2 fotLimit Lorg/graalvm/word/UnsignedWord;
4 5 3 alignment Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static org.graalvm.word.UnsignedWord getObjectsStartOffset();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableLimitOffset:()Lorg/graalvm/word/UnsignedWord;
astore 0
start local 0 1: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 2: aload 0
aload 1
invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 fotLimit Lorg/graalvm/word/UnsignedWord;
2 3 1 alignment Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static boolean (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.verify:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 1
start local 1 1: aload 1
ldc " that: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
2: iconst_1
istore 2
start local 2 3: iload 2
ifeq 7
aload 0
aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.verifyObjects:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;)Z
ifne 7
4: iconst_0
istore 2
5: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getHeapVerifier:()Lcom/oracle/svm/core/genscavenge/HeapVerifier;
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.verify:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 3
start local 3 6: aload 3
ldc " identifier: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " superclass fails to verify]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
end local 3 7: StackMap locals: com.oracle.svm.core.log.Log int
StackMap stack:
iload 2
ifeq 11
aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.verifyObjectHeaders:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
ifne 11
8: iconst_0
istore 2
9: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getHeapVerifier:()Lcom/oracle/svm/core/genscavenge/HeapVerifier;
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.verify:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 3
start local 3 10: aload 3
ldc " identifier: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " object headers fail to verify.]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
end local 3 11: StackMap locals:
StackMap stack:
iload 2
ifeq 15
aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.verifyRememberedSet:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
ifne 15
12: iconst_0
istore 2
13: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getHeapVerifier:()Lcom/oracle/svm/core/genscavenge/HeapVerifier;
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.verify:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 3
start local 3 14: aload 3
ldc " identifier: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " remembered set fails to verify]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
end local 3 15: StackMap locals:
StackMap stack:
aload 1
ldc " returns: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
iload 2
invokevirtual com.oracle.svm.core.log.Log.bool:(Z)Lcom/oracle/svm/core/log/Log;
pop
16: aload 1
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
17: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
1 18 1 trace Lcom/oracle/svm/core/log/Log;
3 18 2 result Z
6 7 3 verifyLog Lcom/oracle/svm/core/log/Log;
10 11 3 verifyLog Lcom/oracle/svm/core/log/Log;
14 15 3 verifyLog Lcom/oracle/svm/core/log/Log;
MethodParameters:
Name Flags
that
private static boolean (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.verifyObjectHeaders: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " that: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
astore 1
start local 1 1: aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
astore 2
start local 2 2: goto 9
3: StackMap locals: com.oracle.svm.core.log.Log org.graalvm.word.Pointer
StackMap stack:
aload 1
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
ldc " current: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 2
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
4: aload 2
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromPointer:(Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
astore 3
start local 3 5: aload 2
aload 3
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isAlignedHeader:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
ifne 8
6: aload 1
ldc " does not have an aligned header: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 3
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " returns: false"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
7: iconst_0
ireturn
8: StackMap locals: org.graalvm.word.UnsignedWord
StackMap stack:
aload 2
invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
astore 2
end local 3 9: StackMap locals:
StackMap stack:
aload 2
aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifne 3
10: aload 1
ldc " returns: true]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
11: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
1 12 1 trace Lcom/oracle/svm/core/log/Log;
2 12 2 current Lorg/graalvm/word/Pointer;
5 9 3 header Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
that
private static boolean (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.verifyRememberedSet:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " that: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
astore 1
start local 1 1: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getOldGeneration:()Lcom/oracle/svm/core/genscavenge/OldGeneration;
astore 3
start local 3 3: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getSpace:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/Space;
aload 3
invokevirtual com.oracle.svm.core.genscavenge.OldGeneration.getFromSpace:()Lcom/oracle/svm/core/genscavenge/Space;
if_acmpne 12
4: aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
invokestatic com.oracle.svm.core.genscavenge.CardTable.verify:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Z
ifne 8
5: aload 2
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getHeapVerifier:()Lcom/oracle/svm/core/genscavenge/HeapVerifier;
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.verifyRememberedSet:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 4
start local 4 6: aload 4
ldc " card table fails to verify"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
7: iconst_0
ireturn
end local 4 8: StackMap locals: com.oracle.svm.core.log.Log com.oracle.svm.core.genscavenge.HeapImpl com.oracle.svm.core.genscavenge.OldGeneration
StackMap stack:
aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.verify:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Z
ifne 12
9: aload 2
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getHeapVerifier:()Lcom/oracle/svm/core/genscavenge/HeapVerifier;
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.verifyRememberedSet:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 4
start local 4 10: aload 4
ldc " first object table fails to verify"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
11: iconst_0
ireturn
end local 4 12: StackMap locals:
StackMap stack:
aload 1
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
13: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
1 14 1 trace Lcom/oracle/svm/core/log/Log;
2 14 2 heap Lcom/oracle/svm/core/genscavenge/HeapImpl;
3 14 3 oldGen Lcom/oracle/svm/core/genscavenge/OldGeneration;
6 8 4 verifyLog Lcom/oracle/svm/core/log/Log;
10 12 4 verifyLog Lcom/oracle/svm/core/log/Log;
MethodParameters:
Name Flags
that
static boolean (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, com.oracle.svm.core.heap.ObjectVisitor, boolean);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=20, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.walkDirtyObjects:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 3
start local 3 1: aload 3
ldc " that: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " clean: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
iload 2
invokevirtual com.oracle.svm.core.log.Log.bool:(Z)Lcom/oracle/svm/core/log/Log;
pop
2: aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
astore 4
start local 4 3: aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
astore 5
start local 5 4: aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
astore 6
start local 6 5: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
astore 7
start local 7 6: aload 7
aload 6
invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
astore 8
start local 8 7: aload 8
invokestatic com.oracle.svm.core.genscavenge.CardTable.indexLimitForMemorySize:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 9
start local 9 8: aload 3
ldc " objectsStart: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 6
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " objectsLimit: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 7
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " indexLimit: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 9
invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
9: invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
astore 10
start local 10 10: goto 47
11: StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader com.oracle.svm.core.heap.ObjectVisitor int com.oracle.svm.core.log.Log org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
StackMap stack:
aload 3
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
ldc " "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " index: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 10
invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
12: aload 4
aload 10
invokestatic com.oracle.svm.core.genscavenge.CardTable.isDirtyEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
ifeq 46
13: iload 2
ifeq 15
14: aload 4
aload 10
invokestatic com.oracle.svm.core.genscavenge.CardTable.cleanEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)V
15: StackMap locals:
StackMap stack:
aload 6
aload 10
iconst_1
invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.genscavenge.CardTable.indexToMemoryPointer:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
astore 11
start local 11 16: aload 5
aload 6
aload 7
aload 10
invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getPreciseFirstObjectPointer:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
astore 12
start local 12 17: aload 12
invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
astore 13
start local 13 18: aload 3
invokevirtual com.oracle.svm.core.log.Log.isEnabled:()Z
ifeq 26
19: aload 6
aload 10
invokestatic com.oracle.svm.core.genscavenge.CardTable.indexToMemoryPointer:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
astore 14
start local 14 20: aload 3
ldc " "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " cardStart: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 14
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
21: aload 3
ldc " cardLimit: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 11
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
22: aload 3
ldc " crossingOntoObject: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 13
invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
pop
23: aload 3
ldc " end: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 13
invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
24: aload 13
invokestatic com.oracle.svm.core.hub.LayoutEncoding.isArray:(Ljava/lang/Object;)Z
ifeq 26
25: aload 3
ldc " array length: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 13
invokestatic org.graalvm.compiler.nodes.java.ArrayLengthNode.arrayLength:(Ljava/lang/Object;)I
invokevirtual com.oracle.svm.core.log.Log.signed:(I)Lcom/oracle/svm/core/log/Log;
pop
end local 14 26: StackMap locals: org.graalvm.word.Pointer org.graalvm.word.Pointer java.lang.Object
StackMap stack:
aload 3
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
27: aload 5
aload 6
aload 7
aload 10
invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getImpreciseFirstObjectPointer:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
astore 14
start local 14 28: aload 14
astore 15
start local 15 29: aload 11
aload 7
invokestatic com.oracle.svm.core.util.PointerUtils.min:(Lorg/graalvm/word/PointerBase;Lorg/graalvm/word/PointerBase;)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.word.Pointer
astore 16
start local 16 30: aload 3
ldc " "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
pop
31: aload 3
ldc " impreciseStart: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 14
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
32: aload 3
ldc " walkLimit: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 16
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
33: goto 45
34: StackMap locals: org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer
StackMap stack:
aload 3
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
ldc " "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
pop
35: aload 3
ldc " ptr: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 15
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
36: aload 15
invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
astore 17
start local 17 37: aload 17
invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
astore 18
start local 18 38: aload 3
ldc " obj: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 17
invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
pop
39: aload 3
ldc " objEnd: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 18
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
40: aload 1
aload 17
invokeinterface com.oracle.svm.core.heap.ObjectVisitor.visitObjectInline:(Ljava/lang/Object;)Z
ifne 44
41: invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.walkDirtyObjects:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 19
start local 19 42: aload 19
ldc " visitor.visitObject fails"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " obj: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 17
invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
43: iconst_0
ireturn
end local 19 44: StackMap locals: java.lang.Object org.graalvm.word.Pointer
StackMap stack:
aload 18
astore 15
end local 18 end local 17 45: StackMap locals:
StackMap stack:
aload 15
aload 16
invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifne 34
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 46: StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader com.oracle.svm.core.heap.ObjectVisitor int com.oracle.svm.core.log.Log org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
StackMap stack:
aload 10
iconst_1
invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
astore 10
StackMap locals:
StackMap stack:
47: aload 10
aload 9
invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifne 11
end local 10 48: aload 3
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
49: iconst_1
ireturn
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 50 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
0 50 1 visitor Lcom/oracle/svm/core/heap/ObjectVisitor;
0 50 2 clean Z
1 50 3 trace Lcom/oracle/svm/core/log/Log;
3 50 4 cardTableStart Lorg/graalvm/word/Pointer;
4 50 5 fotStart Lorg/graalvm/word/Pointer;
5 50 6 objectsStart Lorg/graalvm/word/Pointer;
6 50 7 objectsLimit Lorg/graalvm/word/Pointer;
7 50 8 memorySize Lorg/graalvm/word/UnsignedWord;
8 50 9 indexLimit Lorg/graalvm/word/UnsignedWord;
10 48 10 index Lorg/graalvm/word/UnsignedWord;
16 46 11 cardLimit Lorg/graalvm/word/Pointer;
17 46 12 crossingOntoPointer Lorg/graalvm/word/Pointer;
18 46 13 crossingOntoObject Ljava/lang/Object;
20 26 14 cardStart Lorg/graalvm/word/Pointer;
28 46 14 impreciseStart Lorg/graalvm/word/Pointer;
29 46 15 ptr Lorg/graalvm/word/Pointer;
30 46 16 walkLimit Lorg/graalvm/word/Pointer;
37 45 17 obj Ljava/lang/Object;
38 45 18 objEnd Lorg/graalvm/word/Pointer;
42 44 19 failureLog Lcom/oracle/svm/core/log/Log;
MethodParameters:
Name Flags
that
visitor
clean
static boolean (com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.verifyOnlyCleanCards:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 1
start local 1 1: aload 1
ldc " that: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
2: iconst_1
istore 2
start local 2 3: aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
astore 3
start local 3 4: aload 0
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableIndexLimitForCurrentTop:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/UnsignedWord;
astore 4
start local 4 5: invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
astore 5
start local 5 6: goto 12
7: StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader com.oracle.svm.core.log.Log int org.graalvm.word.Pointer org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
StackMap stack:
aload 3
aload 5
invokestatic com.oracle.svm.core.genscavenge.CardTable.isDirtyEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
ifeq 11
8: iconst_0
istore 2
9: invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
ldc "[AlignedHeapChunk.verifyOnlyCleanCards:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 6
start local 6 10: aload 6
ldc " that: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " dirty card at index: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 5
invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
end local 6 11: StackMap locals:
StackMap stack:
aload 5
iconst_1
invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
astore 5
StackMap locals:
StackMap stack:
12: aload 5
aload 4
invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifne 7
end local 5 13: aload 1
ldc " returns: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
iload 2
invokevirtual com.oracle.svm.core.log.Log.bool:(Z)Lcom/oracle/svm/core/log/Log;
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
14: 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 15 0 that Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
1 15 1 trace Lcom/oracle/svm/core/log/Log;
3 15 2 result Z
4 15 3 cardTableStart Lorg/graalvm/word/Pointer;
5 15 4 indexLimit Lorg/graalvm/word/UnsignedWord;
6 13 5 index Lorg/graalvm/word/UnsignedWord;
10 11 6 witness Lcom/oracle/svm/core/log/Log;
MethodParameters:
Name Flags
that
static com.oracle.svm.core.MemoryWalker$HeapChunkAccess<com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader> getMemoryWalkerAccess();
descriptor: ()Lcom/oracle/svm/core/MemoryWalker$HeapChunkAccess;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$MemoryWalkerAccessImpl;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.core.MemoryWalker$HeapChunkAccess
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: ()Lcom/oracle/svm/core/MemoryWalker$HeapChunkAccess<Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;>;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
}
SourceFile: "AlignedHeapChunk.java"
NestMembers:
com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader com.oracle.svm.core.genscavenge.AlignedHeapChunk$MemoryWalkerAccessImpl com.oracle.svm.core.genscavenge.AlignedHeapChunk$TestingBackDoor
InnerClasses:
public abstract HeapChunkAccess = com.oracle.svm.core.MemoryWalker$HeapChunkAccess of com.oracle.svm.core.MemoryWalker
public final Access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access of com.oracle.svm.core.annotate.RestrictHeapAccess
public abstract AlignedHeader = com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader of com.oracle.svm.core.genscavenge.AlignedHeapChunk
final MemoryWalkerAccessImpl = com.oracle.svm.core.genscavenge.AlignedHeapChunk$MemoryWalkerAccessImpl of com.oracle.svm.core.genscavenge.AlignedHeapChunk
public final TestingBackDoor = com.oracle.svm.core.genscavenge.AlignedHeapChunk$TestingBackDoor of com.oracle.svm.core.genscavenge.AlignedHeapChunk
RememberedSetConstructor = com.oracle.svm.core.genscavenge.GCImpl$RememberedSetConstructor of com.oracle.svm.core.genscavenge.GCImpl
public abstract Header = com.oracle.svm.core.genscavenge.HeapChunk$Header of com.oracle.svm.core.genscavenge.HeapChunk