< prev index next >
src/share/vm/classfile/dictionary.hpp
Print this page
*** 90,99 ****
--- 90,100 ----
void roots_oops_do(OopClosure* strong, OopClosure* weak);
void classes_do(void f(Klass*));
void classes_do(void f(Klass*, TRAPS), TRAPS);
void classes_do(void f(Klass*, ClassLoaderData*));
+ void classes_do(MetaspaceClosure* it);
void unlink(BoolObjectClosure* is_alive);
void remove_classes_in_error_state();
// Classes loaded by the bootstrap loader are always strongly reachable.
*** 115,125 ****
void add_protection_domain(int index, unsigned int hash,
InstanceKlass* klass, ClassLoaderData* loader_data,
Handle protection_domain, TRAPS);
// Sharing support
! void reorder_dictionary();
ProtectionDomainCacheEntry* cache_get(Handle protection_domain);
void print(bool details = true);
#ifdef ASSERT
--- 116,126 ----
void add_protection_domain(int index, unsigned int hash,
InstanceKlass* klass, ClassLoaderData* loader_data,
Handle protection_domain, TRAPS);
// Sharing support
! void reorder_dictionary_for_sharing();
ProtectionDomainCacheEntry* cache_get(Handle protection_domain);
void print(bool details = true);
#ifdef ASSERT
*** 162,171 ****
--- 163,173 ----
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(); }
+ InstanceKlass** klass_addr() { return (InstanceKlass**)literal_addr(); }
DictionaryEntry* next() const {
return (DictionaryEntry*)HashtableEntry<InstanceKlass*, mtClass>::next();
}
< prev index next >