< prev index next >
src/hotspot/share/classfile/classLoaderData.hpp
Print this page
rev 49211 : 8199431: Split up class Metaspace into a static and a non-static part
Reviewed-by:
@@ -221,11 +221,11 @@
static ClassLoaderData * _the_null_class_loader_data;
oop _class_loader; // oop used to uniquely identify a class loader
// class loader or a canonical class path
- Metaspace * volatile _metaspace; // Meta-space where meta-data defined by the
+ ClassLoaderMetaspace * volatile _metaspace; // Meta-space where meta-data defined by the
// classes in the class loader are allocated.
Mutex* _metaspace_lock; // Locks the metaspace for allocations and setup.
bool _unloading; // true if this class loader goes away
bool _is_anonymous; // if this CLD is for an anonymous class
@@ -264,12 +264,12 @@
// Support for walking class loader data objects
ClassLoaderData* _next; /// Next loader_datas created
// ReadOnly and ReadWrite metaspaces (static because only on the null
// class loader for now).
- static Metaspace* _ro_metaspace;
- static Metaspace* _rw_metaspace;
+ static ClassLoaderMetaspace* _ro_metaspace;
+ static ClassLoaderMetaspace* _rw_metaspace;
TRACE_DEFINE_TRACE_ID_FIELD;
void set_next(ClassLoaderData* next) { _next = next; }
ClassLoaderData* next() const { return _next; }
@@ -314,11 +314,11 @@
bool claim();
bool is_alive(BoolObjectClosure* is_alive_closure) const;
// Accessors
- Metaspace* metaspace_or_null() const { return _metaspace; }
+ ClassLoaderMetaspace* metaspace_or_null() const { return _metaspace; }
static ClassLoaderData* the_null_class_loader_data() {
return _the_null_class_loader_data;
}
@@ -349,11 +349,11 @@
bool is_builtin_class_loader_data() const;
bool is_permanent_class_loader_data() const;
// The Metaspace is created lazily so may be NULL. This
// method will allocate a Metaspace if needed.
- Metaspace* metaspace_non_null();
+ ClassLoaderMetaspace* metaspace_non_null();
oop class_loader() const { return _class_loader; }
// The object the GC is using to keep this ClassLoaderData alive.
oop keep_alive_object() const;
@@ -424,13 +424,13 @@
ClassLoaderData* _data;
public:
ClassLoaderDataGraphMetaspaceIterator();
~ClassLoaderDataGraphMetaspaceIterator();
bool repeat() { return _data != NULL; }
- Metaspace* get_next() {
+ ClassLoaderMetaspace* get_next() {
assert(_data != NULL, "Should not be NULL in call to the iterator");
- Metaspace* result = _data->metaspace_or_null();
+ ClassLoaderMetaspace* result = _data->metaspace_or_null();
_data = _data->next();
// This result might be NULL for class loaders without metaspace
// yet. It would be nice to return only non-null results but
// there is no guarantee that there will be a non-null result
// down the list so the caller is going to have to check.
< prev index next >