8072061: Automatically determine optimal sizes for the CDS regions

See new C++ class MetaspaceClosure.

Reviewed-by: coleenp, jiangli, mseledtsov
This commit is contained in:
Ioi Lam 2017-08-02 18:06:38 -07:00
parent 4b983a51fd
commit f7f193ae71
82 changed files with 2010 additions and 1622 deletions

View file

@ -32,6 +32,7 @@
#include "gc/shared/specialized_oop_closures.hpp"
#include "memory/iterator.inline.hpp"
#include "memory/metadataFactory.hpp"
#include "memory/metaspaceClosure.hpp"
#include "memory/resourceArea.hpp"
#include "memory/universe.inline.hpp"
#include "oops/arrayKlass.inline.hpp"
@ -398,6 +399,12 @@ void ObjArrayKlass::initialize(TRAPS) {
bottom_klass()->initialize(THREAD); // dispatches to either InstanceKlass or TypeArrayKlass
}
void ObjArrayKlass::metaspace_pointers_do(MetaspaceClosure* it) {
ArrayKlass::metaspace_pointers_do(it);
it->push(&_element_klass);
it->push(&_bottom_klass);
}
// JVM support
jint ObjArrayKlass::compute_modifier_flags(TRAPS) const {