Mercurial > hg > truffle
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); |