comparison src/share/vm/oops/klass.cpp @ 8751:1fc4d4768b90

8007725: NPG: Klass::restore_unshareable_info() triggers assert(k->java_mirror() == NULL) Summary: Check for exception during SystemDictionary::resolve_instance_class_or_null() and clean up. Reviewed-by: coleenp, acorn, hseigel, minqi Contributed-by: ioi.lam@oracle.com
author coleenp
date Fri, 15 Mar 2013 17:24:40 -0400
parents 3efdfd6ddbf2
children b9a918201d47 92ef81e2f571
comparison
equal deleted inserted replaced
8750:39432a1cefdd 8751:1fc4d4768b90
484 void Klass::oops_do(OopClosure* cl) { 484 void Klass::oops_do(OopClosure* cl) {
485 cl->do_oop(&_java_mirror); 485 cl->do_oop(&_java_mirror);
486 } 486 }
487 487
488 void Klass::remove_unshareable_info() { 488 void Klass::remove_unshareable_info() {
489 if (!DumpSharedSpaces) {
490 // Clean up after OOM during class loading
491 if (class_loader_data() != NULL) {
492 class_loader_data()->remove_class(this);
493 }
494 }
489 set_subklass(NULL); 495 set_subklass(NULL);
490 set_next_sibling(NULL); 496 set_next_sibling(NULL);
491 // Clear the java mirror 497 // Clear the java mirror
492 set_java_mirror(NULL); 498 set_java_mirror(NULL);
493 set_next_link(NULL); 499 set_next_link(NULL);