public class sun.jvm.hotspot.oops.Oop
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.oops.Oop
super_class: java.lang.Object
{
private sun.jvm.hotspot.debugger.OopHandle handle;
descriptor: Lsun/jvm/hotspot/debugger/OopHandle;
flags: (0x0002) ACC_PRIVATE
private sun.jvm.hotspot.oops.ObjectHeap heap;
descriptor: Lsun/jvm/hotspot/oops/ObjectHeap;
flags: (0x0002) ACC_PRIVATE
private static long ;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvm.hotspot.oops.CIntField mark;
descriptor: Lsun/jvm/hotspot/oops/CIntField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvm.hotspot.oops.MetadataField klass;
descriptor: Lsun/jvm/hotspot/oops/MetadataField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvm.hotspot.oops.NarrowKlassField compressedKlass;
descriptor: Lsun/jvm/hotspot/oops/NarrowKlassField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.jvm.hotspot.oops.Oop$1
dup
invokespecial sun.jvm.hotspot.oops.Oop$1.<init>:()V
invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Ljava/util/Observer;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
private static synchronized void initialize(sun.jvm.hotspot.types.TypeDataBase);
descriptor: (Lsun/jvm/hotspot/types/TypeDataBase;)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ldc "oopDesc"
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
astore 1
start local 1 1: new sun.jvm.hotspot.oops.CIntField
dup
aload 1
ldc "_mark"
invokeinterface sun.jvm.hotspot.types.Type.getCIntegerField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/CIntegerField;
lconst_0
invokespecial sun.jvm.hotspot.oops.CIntField.<init>:(Lsun/jvm/hotspot/types/CIntegerField;J)V
putstatic sun.jvm.hotspot.oops.Oop.mark:Lsun/jvm/hotspot/oops/CIntField;
2: new sun.jvm.hotspot.oops.MetadataField
dup
aload 1
ldc "_metadata._klass"
invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
lconst_0
invokespecial sun.jvm.hotspot.oops.MetadataField.<init>:(Lsun/jvm/hotspot/types/AddressField;J)V
putstatic sun.jvm.hotspot.oops.Oop.klass:Lsun/jvm/hotspot/oops/MetadataField;
3: new sun.jvm.hotspot.oops.NarrowKlassField
dup
aload 1
ldc "_metadata._compressed_klass"
invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
lconst_0
invokespecial sun.jvm.hotspot.oops.NarrowKlassField.<init>:(Lsun/jvm/hotspot/types/AddressField;J)V
putstatic sun.jvm.hotspot.oops.Oop.compressedKlass:Lsun/jvm/hotspot/oops/NarrowKlassField;
4: aload 1
invokeinterface sun.jvm.hotspot.types.Type.getSize:()J
putstatic sun.jvm.hotspot.oops.Oop.headerSize:J
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 db Lsun/jvm/hotspot/types/TypeDataBase;
1 6 1 type Lsun/jvm/hotspot/types/Type;
Exceptions:
throws sun.jvm.hotspot.types.WrongTypeException
MethodParameters:
Name Flags
db
void <init>(sun.jvm.hotspot.debugger.OopHandle, sun.jvm.hotspot.oops.ObjectHeap);
descriptor: (Lsun/jvm/hotspot/debugger/OopHandle;Lsun/jvm/hotspot/oops/ObjectHeap;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.jvm.hotspot.oops.Oop.handle:Lsun/jvm/hotspot/debugger/OopHandle;
2: aload 0
aload 2
putfield sun.jvm.hotspot.oops.Oop.heap:Lsun/jvm/hotspot/oops/ObjectHeap;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/oops/Oop;
0 4 1 handle Lsun/jvm/hotspot/debugger/OopHandle;
0 4 2 heap Lsun/jvm/hotspot/oops/ObjectHeap;
MethodParameters:
Name Flags
handle
heap
sun.jvm.hotspot.oops.ObjectHeap getHeap();
descriptor: ()Lsun/jvm/hotspot/oops/ObjectHeap;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.oops.Oop.heap:Lsun/jvm/hotspot/oops/ObjectHeap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public sun.jvm.hotspot.debugger.OopHandle getHandle();
descriptor: ()Lsun/jvm/hotspot/debugger/OopHandle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.oops.Oop.handle:Lsun/jvm/hotspot/debugger/OopHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public static long ();
descriptor: ()J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.jvm.hotspot.oops.Oop.headerSize:J
lreturn
LocalVariableTable:
Start End Slot Name Signature
public sun.jvm.hotspot.oops.Mark getMark();
descriptor: ()Lsun/jvm/hotspot/oops/Mark;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.jvm.hotspot.oops.Mark
dup
aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
invokespecial sun.jvm.hotspot.oops.Mark.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public sun.jvm.hotspot.oops.Klass getKlass();
descriptor: ()Lsun/jvm/hotspot/oops/Klass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.isCompressedKlassPointersEnabled:()Z
ifeq 2
1: getstatic sun.jvm.hotspot.oops.Oop.compressedKlass:Lsun/jvm/hotspot/oops/NarrowKlassField;
aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
invokevirtual sun.jvm.hotspot.oops.NarrowKlassField.getValue:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
checkcast sun.jvm.hotspot.oops.Klass
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.oops.Oop.klass:Lsun/jvm/hotspot/oops/MetadataField;
aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
invokevirtual sun.jvm.hotspot.oops.MetadataField.getValue:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
checkcast sun.jvm.hotspot.oops.Klass
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/oops/Oop;
public boolean isA(sun.jvm.hotspot.oops.Klass);
descriptor: (Lsun/jvm/hotspot/oops/Klass;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getKlass:()Lsun/jvm/hotspot/oops/Klass;
aload 1
invokevirtual sun.jvm.hotspot.oops.Klass.isSubtypeOf:(Lsun/jvm/hotspot/oops/Klass;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
0 1 1 k Lsun/jvm/hotspot/oops/Klass;
MethodParameters:
Name Flags
k
public long getObjectSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getKlass:()Lsun/jvm/hotspot/oops/Klass;
astore 1
start local 1 1: aload 1
checkcast sun.jvm.hotspot.oops.InstanceKlass
aload 0
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getObjectSize:(Lsun/jvm/hotspot/oops/Oop;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/Oop;
1 2 1 k Lsun/jvm/hotspot/oops/Klass;
public boolean isInstance();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public boolean isInstanceRef();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public boolean isArray();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public boolean isObjArray();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public boolean isTypeArray();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public boolean isThread();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public static long alignObjectSize(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
lload 0
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getMinObjAlignmentInBytes:()I
i2l
invokevirtual sun.jvm.hotspot.runtime.VM.alignUp:(JJ)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 size J
MethodParameters:
Name Flags
size
public static long alignObjectOffset(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
lload 0
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getBytesPerLong:()I
i2l
invokevirtual sun.jvm.hotspot.runtime.VM.alignUp:(JJ)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 offset J
MethodParameters:
Name Flags
offset
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
instanceof sun.jvm.hotspot.oops.Oop
ifeq 2
1: aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
aload 1
checkcast sun.jvm.hotspot.oops.Oop
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
invokeinterface sun.jvm.hotspot.debugger.OopHandle.equals:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/oops/Oop;
0 3 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
invokeinterface sun.jvm.hotspot.debugger.OopHandle.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public long identityHash();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getMark:()Lsun/jvm/hotspot/oops/Mark;
astore 1
start local 1 1: aload 1
invokevirtual sun.jvm.hotspot.oops.Mark.isUnlocked:()Z
ifeq 3
aload 1
invokevirtual sun.jvm.hotspot.oops.Mark.hasNoHash:()Z
ifne 3
2: aload 1
invokevirtual sun.jvm.hotspot.oops.Mark.hash:()J
l2i
i2l
lreturn
3: StackMap locals: sun.jvm.hotspot.oops.Mark
StackMap stack:
aload 1
invokevirtual sun.jvm.hotspot.oops.Mark.isMarked:()Z
ifeq 5
4: aload 1
invokevirtual sun.jvm.hotspot.oops.Mark.hash:()J
l2i
i2l
lreturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.slowIdentityHash:()J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/jvm/hotspot/oops/Oop;
1 6 1 mark Lsun/jvm/hotspot/oops/Mark;
public long slowIdentityHash();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getObjectSynchronizer:()Lsun/jvm/hotspot/runtime/ObjectSynchronizer;
aload 0
invokevirtual sun.jvm.hotspot.runtime.ObjectSynchronizer.identityHashValueFor:(Lsun/jvm/hotspot/oops/Oop;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public void iterate(sun.jvm.hotspot.oops.OopVisitor, boolean);
descriptor: (Lsun/jvm/hotspot/oops/OopVisitor;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokeinterface sun.jvm.hotspot.oops.OopVisitor.setObj:(Lsun/jvm/hotspot/oops/Oop;)V
1: aload 1
invokeinterface sun.jvm.hotspot.oops.OopVisitor.prologue:()V
2: aload 0
aload 1
iload 2
invokevirtual sun.jvm.hotspot.oops.Oop.iterateFields:(Lsun/jvm/hotspot/oops/OopVisitor;Z)V
3: aload 1
invokeinterface sun.jvm.hotspot.oops.OopVisitor.epilogue:()V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/jvm/hotspot/oops/Oop;
0 5 1 visitor Lsun/jvm/hotspot/oops/OopVisitor;
0 5 2 doVMFields Z
MethodParameters:
Name Flags
visitor
doVMFields
void iterateFields(sun.jvm.hotspot.oops.OopVisitor, boolean);
descriptor: (Lsun/jvm/hotspot/oops/OopVisitor;Z)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 6
1: aload 1
getstatic sun.jvm.hotspot.oops.Oop.mark:Lsun/jvm/hotspot/oops/CIntField;
iconst_1
invokeinterface sun.jvm.hotspot.oops.OopVisitor.doCInt:(Lsun/jvm/hotspot/oops/CIntField;Z)V
2: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.isCompressedKlassPointersEnabled:()Z
ifeq 5
3: aload 1
getstatic sun.jvm.hotspot.oops.Oop.compressedKlass:Lsun/jvm/hotspot/oops/NarrowKlassField;
iconst_1
invokeinterface sun.jvm.hotspot.oops.OopVisitor.doMetadata:(Lsun/jvm/hotspot/oops/MetadataField;Z)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 1
getstatic sun.jvm.hotspot.oops.Oop.klass:Lsun/jvm/hotspot/oops/MetadataField;
iconst_1
invokeinterface sun.jvm.hotspot.oops.OopVisitor.doMetadata:(Lsun/jvm/hotspot/oops/MetadataField;Z)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/jvm/hotspot/oops/Oop;
0 7 1 visitor Lsun/jvm/hotspot/oops/OopVisitor;
0 7 2 doVMFields Z
MethodParameters:
Name Flags
visitor
doVMFields
public void print();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.jvm.hotspot.oops.Oop.printOn:(Ljava/io/PrintStream;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public void printValue();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.jvm.hotspot.oops.Oop.printValueOn:(Ljava/io/PrintStream;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public void printRaw();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.jvm.hotspot.oops.Oop.printRawOn:(Ljava/io/PrintStream;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
public static void printOopValueOn(sun.jvm.hotspot.oops.Oop, java.io.PrintStream);
descriptor: (Lsun/jvm/hotspot/oops/Oop;Ljava/io/PrintStream;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 3
1: aload 1
ldc "null"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
2: goto 5
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.jvm.hotspot.oops.Oop.printValueOn:(Ljava/io/PrintStream;)V
4: aload 1
new java.lang.StringBuilder
dup
ldc " @ "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 obj Lsun/jvm/hotspot/oops/Oop;
0 6 1 tty Ljava/io/PrintStream;
MethodParameters:
Name Flags
obj
tty
public static void printOopAddressOn(sun.jvm.hotspot.oops.Oop, java.io.PrintStream);
descriptor: (Lsun/jvm/hotspot/oops/Oop;Ljava/io/PrintStream;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 3
1: aload 1
ldc "null"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 obj Lsun/jvm/hotspot/oops/Oop;
0 5 1 tty Ljava/io/PrintStream;
MethodParameters:
Name Flags
obj
tty
public void printOn(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new sun.jvm.hotspot.oops.OopPrinter
dup
aload 1
invokespecial sun.jvm.hotspot.oops.OopPrinter.<init>:(Ljava/io/PrintStream;)V
astore 2
start local 2 1: aload 0
aload 2
iconst_1
invokevirtual sun.jvm.hotspot.oops.Oop.iterate:(Lsun/jvm/hotspot/oops/OopVisitor;Z)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/oops/Oop;
0 3 1 tty Ljava/io/PrintStream;
1 3 2 printer Lsun/jvm/hotspot/oops/OopPrinter;
MethodParameters:
Name Flags
tty
public void printValueOn(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
new java.lang.StringBuilder
dup
ldc "Oop for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getKlass:()Lsun/jvm/hotspot/oops/Klass;
invokevirtual sun.jvm.hotspot.oops.Klass.getName:()Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: goto 4
StackMap locals:
StackMap stack: java.lang.NullPointerException
2: pop
3: aload 1
ldc "Oop"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/jvm/hotspot/oops/Oop;
0 5 1 tty Ljava/io/PrintStream;
Exception table:
from to target type
0 1 2 Class java.lang.NullPointerException
MethodParameters:
Name Flags
tty
public void printRawOn(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ldc "Dumping raw memory for "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: aload 0
aload 1
invokevirtual sun.jvm.hotspot.oops.Oop.printValueOn:(Ljava/io/PrintStream;)V
2: aload 1
invokevirtual java.io.PrintStream.println:()V
3: aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getObjectSize:()J
ldc 4
lmul
lstore 2
start local 2 4: lconst_0
lstore 4
start local 4 5: goto 9
6: StackMap locals: long long
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
lload 4
ldc 4
iconst_1
invokeinterface sun.jvm.hotspot.debugger.OopHandle.getCIntegerAt:(JJZ)J
lstore 6
start local 6 7: aload 1
lload 6
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 8: lload 4
ldc 4
ladd
lstore 4
StackMap locals:
StackMap stack:
9: lload 4
lload 2
lcmp
iflt 6
end local 4 10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/jvm/hotspot/oops/Oop;
0 11 1 tty Ljava/io/PrintStream;
4 11 2 size J
5 10 4 i J
7 8 6 memVal J
MethodParameters:
Name Flags
tty
public boolean verify();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/Oop;
static sun.jvm.hotspot.oops.Klass getKlassForOopHandle(sun.jvm.hotspot.debugger.OopHandle);
descriptor: (Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Klass;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.isCompressedKlassPointersEnabled:()Z
ifeq 4
3: aload 0
getstatic sun.jvm.hotspot.oops.Oop.compressedKlass:Lsun/jvm/hotspot/oops/NarrowKlassField;
invokevirtual sun.jvm.hotspot.oops.NarrowKlassField.getOffset:()J
invokeinterface sun.jvm.hotspot.debugger.OopHandle.getCompKlassAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
checkcast sun.jvm.hotspot.oops.Klass
areturn
4: StackMap locals:
StackMap stack:
aload 0
getstatic sun.jvm.hotspot.oops.Oop.klass:Lsun/jvm/hotspot/oops/MetadataField;
invokevirtual sun.jvm.hotspot.oops.MetadataField.getOffset:()J
invokeinterface sun.jvm.hotspot.debugger.OopHandle.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
checkcast sun.jvm.hotspot.oops.Klass
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle Lsun/jvm/hotspot/debugger/OopHandle;
MethodParameters:
Name Flags
handle
}
SourceFile: "Oop.java"
NestMembers:
sun.jvm.hotspot.oops.Oop$1
InnerClasses:
sun.jvm.hotspot.oops.Oop$1