diff agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java @ 6725:da91efe96a93

6964458: Reimplement class meta-data storage to use native memory Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author coleenp
date Sat, 01 Sep 2012 13:25:18 -0400
parents 04ade88d9712
children 29985fccf378
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java	Fri Aug 31 16:39:35 2012 -0700
+++ b/agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java	Sat Sep 01 13:25:18 2012 -0400
@@ -135,15 +135,15 @@
         ReferenceTypeImpl other = (ReferenceTypeImpl)refType;
         int comp = name().compareTo(other.name());
         if (comp == 0) {
-            Oop rf1 = ref();
-            Oop rf2 = other.ref();
+            Klass rf1 = ref();
+            Klass rf2 = other.ref();
             // optimize for typical case: refs equal and VMs equal
             if (rf1.equals(rf2)) {
                 // sequenceNumbers are always positive
                 comp = vm.sequenceNumber -
                  ((VirtualMachineImpl)(other.virtualMachine())).sequenceNumber;
             } else {
-                comp = rf1.getHandle().minus(rf2.getHandle()) < 0? -1 : 1;
+                comp = rf1.getAddress().minus(rf2.getAddress()) < 0? -1 : 1;
             }
         }
         return comp;
@@ -225,7 +225,7 @@
     private boolean isThrowableBacktraceField(sun.jvm.hotspot.oops.Field fld) {
         // refer to JvmtiEnv::GetClassFields in jvmtiEnv.cpp.
         // We want to filter out java.lang.Throwable.backtrace (see 4446677).
-        // It contains some methodOops that aren't quite real Objects.
+        // It contains some Method*s that aren't quite real Objects.
         if (fld.getFieldHolder().getName().equals(vm.javaLangThrowable()) &&
             fld.getID().getName().equals("backtrace")) {
             return true;
@@ -932,7 +932,7 @@
     }
 
     long uniqueID() {
-        return vm.getAddressValue(ref());
+        return vm.getAddressValue(ref().getJavaMirror());
     }
 
     // new method since 1.6