8131600: heapdump/JMapHeap EXCEPTION_ACCESS_VIOLATION

Reviewed-by: mgerdin, kbarrett, tschatzl
This commit is contained in:
Bengt Rutisson 2015-07-23 08:45:25 +02:00
parent eb6ea8b585
commit 5f06b60fa1
2 changed files with 6 additions and 1 deletions

View File

@ -2824,7 +2824,7 @@ inline bool VM_HeapWalkOperation::iterate_over_class(oop java_class) {
if (klass->oop_is_instance()) { if (klass->oop_is_instance()) {
InstanceKlass* ik = InstanceKlass::cast(klass); InstanceKlass* ik = InstanceKlass::cast(klass);
// ignore the class if it's has been initialized yet // Ignore the class if it hasn't been initialized yet
if (!ik->is_linked()) { if (!ik->is_linked()) {
return true; return true;
} }

View File

@ -899,6 +899,11 @@ void DumperSupport::dump_class_and_array_classes(DumpWriter* writer, Klass* k) {
assert(klass->oop_is_instance(), "not an InstanceKlass"); assert(klass->oop_is_instance(), "not an InstanceKlass");
InstanceKlass* ik = (InstanceKlass*)klass; InstanceKlass* ik = (InstanceKlass*)klass;
// Ignore the class if it hasn't been initialized yet
if (!ik->is_linked()) {
return;
}
writer->write_u1(HPROF_GC_CLASS_DUMP); writer->write_u1(HPROF_GC_CLASS_DUMP);
// class ID // class ID