class com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier implements com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier
super_class: java.lang.Object
{
private final com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapObjectVerifier objectVerifier;
descriptor: Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapObjectVerifier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
boolean verifyResult;
descriptor: Z
flags: (0x0000)
final com.oracle.svm.core.genscavenge.HeapVerifier this$0;
descriptor: Lcom/oracle/svm/core/genscavenge/HeapVerifier;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.svm.core.genscavenge.HeapVerifier);
descriptor: (Lcom/oracle/svm/core/genscavenge/HeapVerifier;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 // com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier this
0: .line 217
aload 0 /* this */
aload 1
putfield com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.this$0:Lcom/oracle/svm/core/genscavenge/HeapVerifier;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 218
aload 0 /* this */
new com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapObjectVerifier
dup
aload 1
invokespecial com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapObjectVerifier.<init>:(Lcom/oracle/svm/core/genscavenge/HeapVerifier;)V
putfield com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.objectVerifier:Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapObjectVerifier;
2: .line 217
return
end local 0 // com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapRegionVerifier;
MethodParameters:
Name Flags
this$0 final
void reset();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 // com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier this
0: .line 222
aload 0 /* this */
iconst_1
putfield com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.verifyResult:Z
1: .line 223
return
end local 0 // com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapRegionVerifier;
public <T> boolean visitNativeImageHeapRegion(T, com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess<T>);
descriptor: (Ljava/lang/Object;Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 // com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier this
start local 1 // java.lang.Object region
start local 2 // com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess access
0: .line 227
invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.getTraceLog:()Lcom/oracle/svm/core/log/Log;
astore 3 /* trace */
start local 3 // com.oracle.svm.core.log.Log trace
1: .line 228
aload 3 /* trace */
ldc "[ImageHeapRegionVerifier:"
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
2: .line 229
aload 2 /* access */
aload 1 /* region */
invokeinterface com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess.getStart:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
checkcast org.graalvm.word.Pointer
astore 4 /* regionStart */
start local 4 // org.graalvm.word.Pointer regionStart
3: .line 230
aload 4 /* regionStart */
aload 2 /* access */
aload 1 /* region */
invokeinterface com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess.getSize:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
astore 5 /* regionEnd */
start local 5 // org.graalvm.word.Pointer regionEnd
4: .line 231
aload 3 /* trace */
ldc " [ regionStart: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 4 /* regionStart */
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " .. regionEnd: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 5 /* regionEnd */
invokevirtual com.oracle.svm.core.log.Log.hex:(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
5: .line 232
aload 0 /* this */
getfield com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.objectVerifier:Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapObjectVerifier;
aload 4 /* regionStart */
aload 5 /* regionEnd */
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapObjectVerifier.reset:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)V
6: .line 233
aload 2 /* access */
aload 1 /* region */
aload 0 /* this */
getfield com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.objectVerifier:Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapObjectVerifier;
invokeinterface com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess.visitObjects:(Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
istore 6 /* visitResult */
start local 6 // boolean visitResult
7: .line 234
aload 0 /* this */
aload 0 /* this */
getfield com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.verifyResult:Z
ifeq 8
aload 0 /* this */
getfield com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.objectVerifier:Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapObjectVerifier;
getfield com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapObjectVerifier.verifyResult:Z
ifeq 8
iconst_1
goto 9
StackMap locals: com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier java.lang.Object com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess com.oracle.svm.core.log.Log org.graalvm.word.Pointer org.graalvm.word.Pointer int
StackMap stack: com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier
8: iconst_0
StackMap locals: com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier java.lang.Object com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess com.oracle.svm.core.log.Log org.graalvm.word.Pointer org.graalvm.word.Pointer int
StackMap stack: com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier int
9: putfield com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.verifyResult:Z
10: .line 235
aload 3 /* trace */
ldc " returns: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0 /* this */
getfield com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.verifyResult:Z
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
11: .line 236
iload 6 /* visitResult */
ireturn
end local 6 // boolean visitResult
end local 5 // org.graalvm.word.Pointer regionEnd
end local 4 // org.graalvm.word.Pointer regionStart
end local 3 // com.oracle.svm.core.log.Log trace
end local 2 // com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess access
end local 1 // java.lang.Object region
end local 0 // com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapRegionVerifier;
0 12 1 region TT;
0 12 2 access Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess<TT;>;
1 12 3 trace Lcom/oracle/svm/core/log/Log;
3 12 4 regionStart Lorg/graalvm/word/Pointer;
4 12 5 regionEnd Lorg/graalvm/word/Pointer;
7 12 6 visitResult Z
Signature: <T:Ljava/lang/Object;>(TT;Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess<TT;>;)Z
MethodParameters:
Name Flags
region
access
}
SourceFile: "HeapVerifier.java"
NestHost: com.oracle.svm.core.genscavenge.HeapVerifier
InnerClasses:
public abstract ImageHeapRegionVisitor = com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor of com.oracle.svm.core.MemoryWalker
public abstract NativeImageHeapRegionAccess = com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess of com.oracle.svm.core.MemoryWalker
ImageHeapObjectVerifier = com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapObjectVerifier of com.oracle.svm.core.genscavenge.HeapVerifier
ImageHeapRegionVerifier = com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier of com.oracle.svm.core.genscavenge.HeapVerifier