< prev index next >

src/hotspot/share/classfile/packageEntry.hpp

Print this page




 236   }
 237 
 238   static unsigned int compute_hash(Symbol* name) { return (unsigned int)(name->identity_hash()); }
 239   int index_for(Symbol* name) const { return hash_to_index(compute_hash(name)); }
 240 
 241 public:
 242   PackageEntryTable(int table_size);
 243   ~PackageEntryTable();
 244 
 245   PackageEntry* bucket(int i) {
 246     return (PackageEntry*)Hashtable<Symbol*, mtModule>::bucket(i);
 247   }
 248 
 249   // Create package in loader's package entry table and return the entry.
 250   // If entry already exists, return null.  Assume Module lock was taken by caller.
 251   PackageEntry* locked_create_entry_or_null(Symbol* name, ModuleEntry* module);
 252 
 253   // lookup Package with loader's package entry table, if not found add
 254   PackageEntry* lookup(Symbol* name, ModuleEntry* module);
 255 
 256   // Only lookup Package within loader's package entry table.  The table read is lock-free.
 257   PackageEntry* lookup_only(Symbol* Package);
 258 
 259   void verify_javabase_packages(GrowableArray<Symbol*> *pkg_list);
 260 
 261   // purge dead weak references out of exported list
 262   void purge_all_package_exports();
 263 
 264   void print(outputStream* st = tty);
 265   void verify();
 266 };
 267 
 268 #endif // SHARE_VM_CLASSFILE_PACKAGEENTRY_HPP


 236   }
 237 
 238   static unsigned int compute_hash(Symbol* name) { return (unsigned int)(name->identity_hash()); }
 239   int index_for(Symbol* name) const { return hash_to_index(compute_hash(name)); }
 240 
 241 public:
 242   PackageEntryTable(int table_size);
 243   ~PackageEntryTable();
 244 
 245   PackageEntry* bucket(int i) {
 246     return (PackageEntry*)Hashtable<Symbol*, mtModule>::bucket(i);
 247   }
 248 
 249   // Create package in loader's package entry table and return the entry.
 250   // If entry already exists, return null.  Assume Module lock was taken by caller.
 251   PackageEntry* locked_create_entry_or_null(Symbol* name, ModuleEntry* module);
 252 
 253   // lookup Package with loader's package entry table, if not found add
 254   PackageEntry* lookup(Symbol* name, ModuleEntry* module);
 255 
 256   // Only lookup Package within loader's package entry table.
 257   PackageEntry* lookup_only(Symbol* Package);
 258 
 259   void verify_javabase_packages(GrowableArray<Symbol*> *pkg_list);
 260 
 261   // purge dead weak references out of exported list
 262   void purge_all_package_exports();
 263 
 264   void print(outputStream* st = tty);
 265   void verify();
 266 };
 267 
 268 #endif // SHARE_VM_CLASSFILE_PACKAGEENTRY_HPP
< prev index next >