8016325: JVM hangs verifying system dictionary

Minimize redundant verifications of Klasses.

Reviewed-by: hseigel, jmasa
This commit is contained in:
Coleen Phillimore 2013-06-24 18:55:46 -04:00
parent 196c8abc3d
commit 39a1c1d6c2
24 changed files with 30 additions and 68 deletions

View file

@ -676,11 +676,9 @@ const char* ObjArrayKlass::internal_name() const {
// Verification
void ObjArrayKlass::verify_on(outputStream* st) {
ArrayKlass::verify_on(st);
guarantee(element_klass()->is_metadata(), "should be in metaspace");
void ObjArrayKlass::verify_on(outputStream* st, bool check_dictionary) {
ArrayKlass::verify_on(st, check_dictionary);
guarantee(element_klass()->is_klass(), "should be klass");
guarantee(bottom_klass()->is_metadata(), "should be in metaspace");
guarantee(bottom_klass()->is_klass(), "should be klass");
Klass* bk = bottom_klass();
guarantee(bk->oop_is_instance() || bk->oop_is_typeArray(), "invalid bottom klass");