< prev index next >

src/hotspot/share/classfile/packageEntry.hpp

Print this page

@@ -34,10 +34,11 @@
 #include "utilities/ostream.hpp"
 #if INCLUDE_JFR
 #include "jfr/support/jfrTraceIdExtension.hpp"
 #endif
 
+template <class T> class Array;
 
 // A PackageEntry basically represents a Java package.  It contains:
 //   - Symbol* containing the package's name.
 //   - ModuleEntry* for this package's containing module.
 //   - a field indicating if the package is exported unqualifiedly or to all

@@ -215,10 +216,17 @@
   void delete_qualified_exports();
 
   void print(outputStream* st = tty);
   void verify();
 
+#if INCLUDE_CDS_JAVA_HEAP
+  PackageEntry* allocate_archived_entry() const;
+  void init_as_archived_entry();
+  static PackageEntry* get_archived_entry(PackageEntry* orig_entry);
+  void load_from_archive();
+#endif
+
   static int max_index_for_defined_in_class_path() {
     return sizeof(int) * BitsPerByte;
   }
 
   bool is_defined_by_cds_in_class_path(int idx) const {

@@ -293,8 +301,14 @@
   // purge dead weak references out of exported list
   void purge_all_package_exports();
 
   void print(outputStream* st = tty);
   void verify();
+
+#if INCLUDE_CDS_JAVA_HEAP
+  Array<PackageEntry*>* allocate_archived_entries();
+  void init_archived_entries(Array<PackageEntry*>* archived_packages);
+  void load_archived_entries(Array<PackageEntry*>* archived_packages);
+#endif
 };
 
 #endif // SHARE_CLASSFILE_PACKAGEENTRY_HPP
< prev index next >