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