< prev index next >
src/hotspot/share/services/heapDumper.cpp
Print this page
*** 1018,1028 ****
// description of instance fields
dump_instance_field_descriptors(writer, k);
// array classes
! k = k->array_klass_or_null();
while (k != NULL) {
Klass* klass = k;
assert(klass->is_objArray_klass(), "not an ObjArrayKlass");
writer->write_u1(HPROF_GC_CLASS_DUMP);
--- 1018,1028 ----
// description of instance fields
dump_instance_field_descriptors(writer, k);
// array classes
! k = k->array_klass_or_null(ArrayStorageProperties::empty);
while (k != NULL) {
Klass* klass = k;
assert(klass->is_objArray_klass(), "not an ObjArrayKlass");
writer->write_u1(HPROF_GC_CLASS_DUMP);
*** 1044,1054 ****
writer->write_u2(0); // constant pool
writer->write_u2(0); // static fields
writer->write_u2(0); // instance fields
// get the array class for the next rank
! k = klass->array_klass_or_null();
}
}
// creates HPROF_GC_CLASS_DUMP record for a given primitive array
// class (and each multi-dimensional array class too)
--- 1044,1054 ----
writer->write_u2(0); // constant pool
writer->write_u2(0); // static fields
writer->write_u2(0); // instance fields
// get the array class for the next rank
! k = klass->array_klass_or_null(ArrayStorageProperties::empty);
}
}
// creates HPROF_GC_CLASS_DUMP record for a given primitive array
// class (and each multi-dimensional array class too)
*** 1076,1086 ****
writer->write_u2(0); // constant pool
writer->write_u2(0); // static fields
writer->write_u2(0); // instance fields
// get the array class for the next rank
! k = klass->array_klass_or_null();
}
}
// Hprof uses an u4 as record length field,
// which means we need to truncate arrays that are too long.
--- 1076,1086 ----
writer->write_u2(0); // constant pool
writer->write_u2(0); // static fields
writer->write_u2(0); // instance fields
// get the array class for the next rank
! k = klass->array_klass_or_null(ArrayStorageProperties::empty);
}
}
// Hprof uses an u4 as record length field,
// which means we need to truncate arrays that are too long.
*** 1631,1641 ****
// class name ID
Symbol* name = klass->name();
writer()->write_symbolID(name);
// write a LOAD_CLASS record for the array type (if it exists)
! k = klass->array_klass_or_null();
} while (k != NULL);
}
// writes a HPROF_GC_CLASS_DUMP record for the given class
void VM_HeapDumper::do_class_dump(Klass* k) {
--- 1631,1641 ----
// class name ID
Symbol* name = klass->name();
writer()->write_symbolID(name);
// write a LOAD_CLASS record for the array type (if it exists)
! k = klass->array_klass_or_null(ArrayStorageProperties::empty);
} while (k != NULL);
}
// writes a HPROF_GC_CLASS_DUMP record for the given class
void VM_HeapDumper::do_class_dump(Klass* k) {
< prev index next >