class sun.jvm.hotspot.utilities.HeapHprofBinWriter$2 implements sun.jvm.hotspot.runtime.AddressVisitor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.jvm.hotspot.utilities.HeapHprofBinWriter$2
super_class: java.lang.Object
{
final sun.jvm.hotspot.utilities.HeapHprofBinWriter this$0;
descriptor: Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final int val$threadIndex;
descriptor: I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.jvm.hotspot.utilities.HeapHprofBinWriter, int);
descriptor: (Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;I)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter$2.this$0:Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
aload 0
iload 2
putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter$2.val$threadIndex:I
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/utilities/HeapHprofBinWriter$2;
MethodParameters:
Name Flags
this$0 final
val$threadIndex final
public void visitAddress(sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnull 11
1: aload 1
lconst_0
invokeinterface sun.jvm.hotspot.debugger.Address.getOopHandleAt:(J)Lsun/jvm/hotspot/debugger/OopHandle;
astore 2
start local 2 2: aload 0
getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter$2.this$0:Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.objectHeap:Lsun/jvm/hotspot/oops/ObjectHeap;
aload 2
invokevirtual sun.jvm.hotspot.oops.ObjectHeap.newOop:(Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
astore 3
start local 3 3: aload 3
ifnull 11
aload 0
getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter$2.this$0:Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
aload 3
invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.isJavaVisible:(Lsun/jvm/hotspot/oops/Oop;)Z
ifeq 11
4: aload 0
getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter$2.this$0:Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
iconst_2
invokevirtual java.io.DataOutputStream.writeByte:(I)V
5: aload 0
getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter$2.this$0:Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
aload 3
invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
6: aload 0
getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter$2.this$0:Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
aload 0
getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter$2.val$threadIndex:I
invokevirtual java.io.DataOutputStream.writeInt:(I)V
7: aload 0
getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter$2.this$0:Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
iconst_m1
invokevirtual java.io.DataOutputStream.writeInt:(I)V
end local 3 end local 2 8: goto 11
StackMap locals:
StackMap stack: java.io.IOException
9: astore 2
start local 2 10: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/jvm/hotspot/utilities/HeapHprofBinWriter$2;
0 12 1 handleAddr Lsun/jvm/hotspot/debugger/Address;
2 8 2 oopHandle Lsun/jvm/hotspot/debugger/OopHandle;
3 8 3 oop Lsun/jvm/hotspot/oops/Oop;
10 11 2 exp Ljava/io/IOException;
Exception table:
from to target type
0 8 9 Class java.io.IOException
MethodParameters:
Name Flags
handleAddr
public void visitCompOopAddress(sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.RuntimeException
dup
1: ldc " Should not reach here. JNIHandles are not compressed \n"
2: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/utilities/HeapHprofBinWriter$2;
0 3 1 handleAddr Lsun/jvm/hotspot/debugger/Address;
MethodParameters:
Name Flags
handleAddr
}
SourceFile: "HeapHprofBinWriter.java"
EnclosingMethod: sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeLocalJNIHandles:(Lsun/jvm/hotspot/runtime/JavaThread;I)V
NestHost: sun.jvm.hotspot.utilities.HeapHprofBinWriter
InnerClasses:
sun.jvm.hotspot.utilities.HeapHprofBinWriter$2