agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7031614 Cdiff agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java

agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java

Print this page

        

*** 360,370 **** if (klass.equals(constantPoolCacheKlassHandle)) return new ConstantPoolCache(handle, this); if (!VM.getVM().isCore()) { if (klass.equals(compiledICHolderKlassHandle)) return new CompiledICHolder(handle, this); if (klass.equals(methodDataKlassHandle)) return new MethodData(handle, this); } ! if (klass.equals(instanceKlassKlassHandle)) return new InstanceKlass(handle, this); if (klass.equals(objArrayKlassKlassHandle)) return new ObjArrayKlass(handle, this); if (klass.equals(typeArrayKlassKlassHandle)) return new TypeArrayKlass(handle, this); // Lastly check if obj.klass().klass() is on of the root objects OopHandle klassKlass = Oop.getKlassForOopHandle(klass); --- 360,379 ---- if (klass.equals(constantPoolCacheKlassHandle)) return new ConstantPoolCache(handle, this); if (!VM.getVM().isCore()) { if (klass.equals(compiledICHolderKlassHandle)) return new CompiledICHolder(handle, this); if (klass.equals(methodDataKlassHandle)) return new MethodData(handle, this); } ! if (klass.equals(instanceKlassKlassHandle)) { ! InstanceKlass ik = new InstanceKlass(handle, this); ! if (ik.getName().asString().equals("java/lang/Class")) { ! // We would normally do this using the vtable style ! // lookup but since it's not used for these currently ! // it's simpler to just check for the name. ! return new InstanceMirrorKlass(handle, this); ! } ! return ik; ! } if (klass.equals(objArrayKlassKlassHandle)) return new ObjArrayKlass(handle, this); if (klass.equals(typeArrayKlassKlassHandle)) return new TypeArrayKlass(handle, this); // Lastly check if obj.klass().klass() is on of the root objects OopHandle klassKlass = Oop.getKlassForOopHandle(klass);
agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File