--- a/src/hotspot/share/classfile/classLoaderData.hpp Tue Sep 10 14:52:53 2019 +0800
+++ b/src/hotspot/share/classfile/classLoaderData.hpp Tue Sep 10 09:24:05 2019 +0200
@@ -27,7 +27,6 @@
#include "memory/allocation.hpp"
#include "memory/memRegion.hpp"
-#include "memory/metaspace.hpp"
#include "oops/oopHandle.hpp"
#include "oops/weakHandle.hpp"
#include "runtime/atomic.hpp"
@@ -63,6 +62,10 @@
class DictionaryEntry;
class Dictionary;
+namespace metaspace {
+ class ClassLoaderMetaspace;
+}
+
// ClassLoaderData class
class ClassLoaderData : public CHeapObj<mtClass> {
@@ -113,7 +116,7 @@
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
@@ -223,7 +226,7 @@
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;
@@ -256,7 +259,7 @@
// 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;