src/share/vm/oops/instanceClassLoaderKlass.hpp
Print this page
rev 9430 : [mq]: 8140485_open_updated
@@ -27,24 +27,23 @@
#include "gc/shared/specialized_oop_closures.hpp"
#include "oops/instanceKlass.hpp"
#include "utilities/macros.hpp"
+class ClassFileParser;
+
// An InstanceClassLoaderKlass is a specialization of the InstanceKlass. It does
// not add any field. It is added to walk the dependencies for the class loader
// key that this class loader points to. This is how the loader_data graph is
// walked and dependant class loaders are kept alive. I thought we walked
// the list later?
class InstanceClassLoaderKlass: public InstanceKlass {
friend class VMStructs;
friend class InstanceKlass;
-
- // Constructor
- InstanceClassLoaderKlass(int vtable_len, int itable_len, int static_field_size, int nonstatic_oop_map_size, ReferenceType rt, AccessFlags access_flags, bool is_anonymous)
- : InstanceKlass(vtable_len, itable_len, static_field_size, nonstatic_oop_map_size,
- InstanceKlass::_misc_kind_class_loader, rt, access_flags, is_anonymous) {}
+ private:
+ InstanceClassLoaderKlass(const ClassFileParser& parser) : InstanceKlass(parser, InstanceKlass::_misc_kind_class_loader) {}
public:
InstanceClassLoaderKlass() { assert(DumpSharedSpaces || UseSharedSpaces, "only for CDS"); }
// GC specific object visitors