Mercurial > hg > graal-jvmci-8
diff src/share/vm/oops/klass.hpp @ 20383:14b8221771dc
Merge
author | tschatzl |
---|---|
date | Wed, 03 Sep 2014 09:25:44 +0200 |
parents | 6e0cb14ce59b |
children | 8cb56c8cb30d |
line wrap: on
line diff
--- a/src/share/vm/oops/klass.hpp Wed Sep 03 09:24:07 2014 +0200 +++ b/src/share/vm/oops/klass.hpp Wed Sep 03 09:25:44 2014 +0200 @@ -175,6 +175,16 @@ 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(); @@ -281,6 +291,15 @@ 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 Klass* subklass_oop() const { return _subklass; } Klass* next_sibling_oop() const { return _next_sibling; } @@ -452,7 +471,7 @@ 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