hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/RobustOopDeterminator.java
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/RobustOopDeterminator.java Fri Apr 11 09:56:35 2008 -0400
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/RobustOopDeterminator.java Sun Apr 13 17:43:42 2008 -0400
@@ -51,7 +51,11 @@
private static void initialize(TypeDataBase db) {
Type type = db.lookupType("oopDesc");
- klassField = type.getOopField("_klass");
+ if (VM.getVM().isCompressedOopsEnabled()) {
+ klassField = type.getNarrowOopField("_metadata._compressed_klass");
+ } else {
+ klassField = type.getOopField("_metadata._klass");
+ }
}
public static boolean oopLooksValid(OopHandle oop) {