< prev index next >

src/share/vm/classfile/loaderConstraints.hpp

Print this page

        

*** 23,54 **** */ #ifndef SHARE_VM_CLASSFILE_LOADERCONSTRAINTS_HPP #define SHARE_VM_CLASSFILE_LOADERCONSTRAINTS_HPP - #include "classfile/dictionary.hpp" #include "classfile/placeholders.hpp" #include "utilities/hashtable.hpp" class LoaderConstraintEntry; class Symbol; class LoaderConstraintTable : public Hashtable<InstanceKlass*, mtClass> { - friend class VMStructs; - private: - - enum Constants { - _loader_constraint_size = 107, // number of entries in constraint table - _nof_buckets = 1009 // number of buckets in hash table - }; LoaderConstraintEntry** find_loader_constraint(Symbol* name, Handle loader); public: ! LoaderConstraintTable(int nof_buckets); LoaderConstraintEntry* new_entry(unsigned int hash, Symbol* name, InstanceKlass* klass, int num_loaders, int max_loaders); void free_entry(LoaderConstraintEntry *entry); --- 23,48 ---- */ #ifndef SHARE_VM_CLASSFILE_LOADERCONSTRAINTS_HPP #define SHARE_VM_CLASSFILE_LOADERCONSTRAINTS_HPP #include "classfile/placeholders.hpp" #include "utilities/hashtable.hpp" + class ClassLoaderData; class LoaderConstraintEntry; class Symbol; class LoaderConstraintTable : public Hashtable<InstanceKlass*, mtClass> { + private: LoaderConstraintEntry** find_loader_constraint(Symbol* name, Handle loader); public: ! LoaderConstraintTable(int table_size); LoaderConstraintEntry* new_entry(unsigned int hash, Symbol* name, InstanceKlass* klass, int num_loaders, int max_loaders); void free_entry(LoaderConstraintEntry *entry);
*** 82,99 **** bool check_or_update(InstanceKlass* k, Handle loader, Symbol* name); void purge_loader_constraints(); ! void verify(Dictionary* dictionary, PlaceholderTable* placeholders); #ifndef PRODUCT void print(); #endif }; class LoaderConstraintEntry : public HashtableEntry<InstanceKlass*, mtClass> { - friend class VMStructs; private: Symbol* _name; // class name int _num_loaders; int _max_loaders; // Loader constraints enforce correct linking behavior. --- 76,92 ---- bool check_or_update(InstanceKlass* k, Handle loader, Symbol* name); void purge_loader_constraints(); ! void verify(PlaceholderTable* placeholders); #ifndef PRODUCT void print(); #endif }; class LoaderConstraintEntry : public HashtableEntry<InstanceKlass*, mtClass> { private: Symbol* _name; // class name int _num_loaders; int _max_loaders; // Loader constraints enforce correct linking behavior.
< prev index next >