8054402: "klass->is_loader_alive(_is_alive)) failed: must be alive" for anonymous classes

Because anonymous classes are not in the system dictionary, we have to set 'unloading_occurred' based on 'CLDG::do_unloading()'. Added jtreg test.

Reviewed-by: kvn, coleenp
This commit is contained in:
Tobias Hartmann 2014-08-14 09:15:39 +02:00
parent 8ed4cb5a02
commit d50dfdb399
4 changed files with 136 additions and 21 deletions

View file

@ -108,9 +108,8 @@ public:
return (loader_data->is_the_null_class_loader_data() || !ClassUnloading);
}
// Unload (that is, break root links to) all unmarked classes and
// loaders. Returns "true" iff something was unloaded.
bool do_unloading();
// Unload (that is, break root links to) all unmarked classes and loaders.
void do_unloading();
// Protection domains
Klass* find(int index, unsigned int hash, Symbol* name,