< prev index next >

src/share/vm/classfile/dictionary.hpp

Print this page

        

*** 34,44 **** class DictionaryEntry; class BoolObjectClosure; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! // The data structure for the system dictionary (and the shared system // dictionary). class Dictionary : public Hashtable<InstanceKlass*, mtClass> { friend class VMStructs; --- 34,44 ---- class DictionaryEntry; class BoolObjectClosure; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! // The data structure for the class loader data dictionaries (and the shared system // dictionary). class Dictionary : public Hashtable<InstanceKlass*, mtClass> { friend class VMStructs;
*** 108,125 **** void printPerformanceInfoDetails(); #endif // ASSERT void verify(); }; ! // An entry in the system dictionary, this describes a class as ! // { InstanceKlass*, loader, protection_domain }. class DictionaryEntry : public HashtableEntry<InstanceKlass*, mtClass> { friend class VMStructs; private: // Contains the set of approved protection domains that can access ! // this system dictionary entry. // // This protection domain set is a set of tuples: // // (InstanceKlass C, initiating class loader ICL, Protection Domain PD) // --- 108,125 ---- void printPerformanceInfoDetails(); #endif // ASSERT void verify(); }; ! // An entry in the class loader data dictionaries, this describes a class as ! // { InstanceKlass*, protection_domain }. class DictionaryEntry : public HashtableEntry<InstanceKlass*, mtClass> { friend class VMStructs; private: // Contains the set of approved protection domains that can access ! // this dictionary entry. // // This protection domain set is a set of tuples: // // (InstanceKlass C, initiating class loader ICL, Protection Domain PD) //
*** 142,152 **** // Tells whether a protection is in the approved set. bool contains_protection_domain(oop protection_domain) const; // Adds a protection domain to the approved set. void add_protection_domain(Dictionary* dict, Handle protection_domain); ! InstanceKlass* klass() const { return (InstanceKlass*)literal(); } DictionaryEntry* next() const { return (DictionaryEntry*)HashtableEntry<InstanceKlass*, mtClass>::next(); } --- 142,152 ---- // Tells whether a protection is in the approved set. bool contains_protection_domain(oop protection_domain) const; // Adds a protection domain to the approved set. void add_protection_domain(Dictionary* dict, Handle protection_domain); ! InstanceKlass* instance_klass() const { return literal(); } DictionaryEntry* next() const { return (DictionaryEntry*)HashtableEntry<InstanceKlass*, mtClass>::next(); }
*** 155,165 **** } ProtectionDomainEntry* pd_set() const { return _pd_set; } void set_pd_set(ProtectionDomainEntry* pd_set) { _pd_set = pd_set; } ! // Tells whether the initiating class' protection can access the this _klass bool is_valid_protection_domain(Handle protection_domain) { if (!ProtectionDomainVerification) return true; if (!SystemDictionary::has_checkPackageAccess()) return true; return protection_domain() == NULL --- 155,165 ---- } ProtectionDomainEntry* pd_set() const { return _pd_set; } void set_pd_set(ProtectionDomainEntry* pd_set) { _pd_set = pd_set; } ! // Tells whether the initiating class' protection domain can access the klass in this entry bool is_valid_protection_domain(Handle protection_domain) { if (!ProtectionDomainVerification) return true; if (!SystemDictionary::has_checkPackageAccess()) return true; return protection_domain() == NULL
< prev index next >