6798898: CMS: bugs related to class unloading

Override should_remember_klasses() and remember_klass() as needed.

Reviewed-by: ysr, jcoomes
This commit is contained in:
Jon Masamitsu 2009-08-24 10:36:31 -07:00
parent ead860c069
commit 20a43bad21
8 changed files with 238 additions and 105 deletions

View file

@ -25,6 +25,10 @@
# include "incls/_precompiled.incl"
# include "incls/_iterator.cpp.incl"
#ifdef ASSERT
bool OopClosure::_must_remember_klasses = false;
#endif
void ObjectToOopClosure::do_object(oop obj) {
obj->oop_iterate(_cl);
}
@ -32,3 +36,13 @@ void ObjectToOopClosure::do_object(oop obj) {
void VoidClosure::do_void() {
ShouldNotCallThis();
}
#ifdef ASSERT
bool OopClosure::must_remember_klasses() {
return _must_remember_klasses;
}
void OopClosure::set_must_remember_klasses(bool v) {
_must_remember_klasses = v;
}
#endif