< prev index next >
src/hotspot/share/classfile/classLoaderData.hpp
Print this page
rev 57511 : [mq]: metaspace-improvement
@@ -25,11 +25,10 @@
#ifndef SHARE_CLASSFILE_CLASSLOADERDATA_HPP
#define SHARE_CLASSFILE_CLASSLOADERDATA_HPP
#include "memory/allocation.hpp"
#include "memory/memRegion.hpp"
-#include "memory/metaspace.hpp"
#include "oops/oopHandle.hpp"
#include "oops/weakHandle.hpp"
#include "runtime/atomic.hpp"
#include "runtime/mutex.hpp"
#include "utilities/growableArray.hpp"
@@ -61,10 +60,14 @@
class ModuleEntryTable;
class PackageEntryTable;
class DictionaryEntry;
class Dictionary;
+namespace metaspace {
+ class ClassLoaderMetaspace;
+}
+
// ClassLoaderData class
class ClassLoaderData : public CHeapObj<mtClass> {
friend class VMStructs;
@@ -111,11 +114,11 @@
WeakHandle<vm_class_loader_data> _holder; // The oop that determines lifetime of this class loader
OopHandle _class_loader; // The instance of java/lang/ClassLoader associated with
// this ClassLoaderData
- ClassLoaderMetaspace * volatile _metaspace; // Meta-space where meta-data defined by the
+ metaspace::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_unsafe_anonymous; // CLD is dedicated to one class and that class determines the CLDs lifecycle.
// For example, an unsafe anonymous class.
@@ -221,11 +224,11 @@
// Computes if the CLD is alive or not. This is safe to call in concurrent
// contexts.
bool is_alive() const;
// Accessors
- ClassLoaderMetaspace* metaspace_or_null() const { return _metaspace; }
+ metaspace::ClassLoaderMetaspace* metaspace_or_null() const { return _metaspace; }
static ClassLoaderData* the_null_class_loader_data() {
return _the_null_class_loader_data;
}
@@ -254,11 +257,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.
- ClassLoaderMetaspace* metaspace_non_null();
+ metaspace::ClassLoaderMetaspace* metaspace_non_null();
inline oop class_loader() const;
// Returns true if this class loader data is for a loader going away.
// Note that this is only safe after the GC has computed if the CLD is
< prev index next >