src/share/vm/classfile/classLoaderData.hpp
Print this page
rev 9227 : [mq] cds
@@ -185,10 +185,13 @@
GrowableArray<Metadata*>* _deallocate_list;
// Support for walking class loader data objects
ClassLoaderData* _next; /// Next loader_datas created
+ // CDS
+ int _shared_class_loader_id;
+
// ReadOnly and ReadWrite metaspaces (static because only on the null
// class loader for now).
static Metaspace* _ro_metaspace;
static Metaspace* _rw_metaspace;
@@ -306,10 +309,19 @@
// CDS support
Metaspace* ro_metaspace();
Metaspace* rw_metaspace();
void initialize_shared_metaspaces();
+
+ int shared_class_loader_id() {
+ return _shared_class_loader_id;
+ }
+ void set_shared_class_loader_id(int id) {
+ assert(id >= 0, "sanity");
+ assert(_shared_class_loader_id <0, "cannot be assigned more than once");
+ _shared_class_loader_id = id;
+ }
};
// An iterator that distributes Klasses to parallel worker threads.
class ClassLoaderDataGraphKlassIteratorAtomic : public StackObj {
Klass* volatile _next_klass;