JDK-8327246: added asserts ar per lmesnik comment

This commit is contained in:
Larry Cable 2026-01-09 13:07:22 -08:00
parent dd11893b93
commit b4a9788263

View File

@ -2356,6 +2356,8 @@ void PrintClassClosure::do_klass(Klass* k) {
_st->print("%4d ", k->size());
// initialization state
assert(!k->is_instance_klass(), "not InstanceKlass!");
InstanceKlass *ik = k->is_instance_klass() ? InstanceKlass::cast(k) : nullptr;
if (ik != nullptr) {
@ -2383,6 +2385,8 @@ void PrintClassClosure::do_klass(Klass* k) {
oop pd = java_lang_Class::protection_domain(k->java_mirror());
assert(pd != nullptr && !pd->klass()->is_instance_klass(), "pd klass is not InstanceKlass");
if (pd != nullptr && (ik = pd->klass()->is_instance_klass() ? InstanceKlass::cast(pd->klass()) : nullptr) != nullptr) {
TempNewSymbol css = SymbolTable::new_symbol("codesource");
@ -2394,6 +2398,8 @@ void PrintClassClosure::do_klass(Klass* k) {
oop cs = pd->obj_field(csfd.offset());
assert(cs !=nullptr && !cs->klass()->is_instance_klass(), "cs klass is not InstanceKlass");
if (cs != nullptr && (ik = cs->klass()->is_instance_klass() ? InstanceKlass::cast(cs->klass()) : nullptr) != nullptr) {
fieldDescriptor locfd;
@ -2403,12 +2409,14 @@ void PrintClassClosure::do_klass(Klass* k) {
if (ik->find_field(csls, cslss, &locfd)) {
oop loc = cs->obj_field(locfd.offset());
assert(loc != nullptr && loc->klass() != vmClasses::String_klass(), "locationNoFragString field is not a String");
if (loc != nullptr && loc->klass() == vmClasses::String_klass()) {
java_lang_String::print(loc, _st, MAXPATHLEN);
}
}
}
}
} else assert(true, "failed to find locationNoFragString field in CodeSource");
} else assert(true, "failed to find codeSource field in ProtectionDomain");
}
}
// end