diff agent/src/share/classes/sun/jvm/hotspot/utilities/RobustOopDeterminator.java @ 113:ba764ed4b6f2

6420645: Create a vm that uses compressed oops for up to 32gb heapsizes Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author coleenp
date Sun, 13 Apr 2008 17:43:42 -0400
parents a61af66fc99e
children d1605aabd0a1
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/utilities/RobustOopDeterminator.java	Fri Apr 11 09:56:35 2008 -0400
+++ b/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) {