src/share/vm/oops/klass.hpp
Print this page
rev 6841 : mq
rev 6842 : mq
@@ -145,10 +145,20 @@
// Remembered sets support for the oops in the klasses.
jbyte _modified_oops; // Card Table Equivalent (YC/CMS support)
jbyte _accumulated_modified_oops; // Mod Union Equivalent (CMS support)
+private:
+ // This is an index into FileMapHeader::_classpath_entry_table[], to
+ // associate this class with the JAR file where it's loaded from during
+ // dump time. If a class is not loaded from the shared archive, this field is
+ // -1.
+ jshort _shared_class_path_index;
+
+ friend class SharedClassUtil;
+protected:
+
// Constructor
Klass();
void* operator new(size_t size, ClassLoaderData* loader_data, size_t word_size, TRAPS) throw();
@@ -251,10 +261,19 @@
void accumulate_modified_oops() { if (has_modified_oops()) _accumulated_modified_oops = 1; }
void clear_accumulated_modified_oops() { _accumulated_modified_oops = 0; }
bool has_accumulated_modified_oops() { return _accumulated_modified_oops == 1; }
+ int shared_classpath_index() const {
+ return _shared_class_path_index;
+ };
+
+ void set_shared_classpath_index(int index) {
+ _shared_class_path_index = index;
+ };
+
+
protected: // internal accessors
void set_subklass(Klass* s);
void set_next_sibling(Klass* s);
public:
@@ -420,11 +439,11 @@
virtual Klass* array_klass_impl(bool or_null, TRAPS);
public:
// CDS support - remove and restore oops from metadata. Oops are not shared.
virtual void remove_unshareable_info();
- virtual void restore_unshareable_info(TRAPS);
+ virtual void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS);
protected:
// computes the subtype relationship
virtual bool compute_is_subtype_of(Klass* k);
public: