306 }
307
308 void set_strongly_reachable() {
309 for (ProtectionDomainEntry* current = _pd_set;
310 current != NULL;
311 current = current->_next) {
312 current->_pd_cache->set_strongly_reachable();
313 }
314 }
315
316 void verify_protection_domain_set() {
317 for (ProtectionDomainEntry* current = _pd_set;
318 current != NULL;
319 current = current->_next) {
320 current->_pd_cache->protection_domain()->verify();
321 }
322 }
323
324 bool equals(Symbol* class_name, ClassLoaderData* loader_data) const {
325 Klass* klass = (Klass*)literal();
326 return (InstanceKlass::cast(klass)->name() == class_name &&
327 _loader_data == loader_data);
328 }
329
330 void print() {
331 int count = 0;
332 for (ProtectionDomainEntry* current = _pd_set;
333 current != NULL;
334 current = current->_next) {
335 count++;
336 }
337 tty->print_cr("pd set = #%d", count);
338 }
339 };
340
341 // Entry in a SymbolPropertyTable, mapping a single Symbol*
342 // to a managed and an unmanaged pointer.
343 class SymbolPropertyEntry : public HashtableEntry<Symbol*, mtSymbol> {
344 friend class VMStructs;
345 private:
346 intptr_t _symbol_mode; // secondary key
|
306 }
307
308 void set_strongly_reachable() {
309 for (ProtectionDomainEntry* current = _pd_set;
310 current != NULL;
311 current = current->_next) {
312 current->_pd_cache->set_strongly_reachable();
313 }
314 }
315
316 void verify_protection_domain_set() {
317 for (ProtectionDomainEntry* current = _pd_set;
318 current != NULL;
319 current = current->_next) {
320 current->_pd_cache->protection_domain()->verify();
321 }
322 }
323
324 bool equals(Symbol* class_name, ClassLoaderData* loader_data) const {
325 Klass* klass = (Klass*)literal();
326 return (InstanceKlass::cast(klass)->name()->equals(class_name) &&
327 _loader_data == loader_data);
328 }
329
330 void print() {
331 int count = 0;
332 for (ProtectionDomainEntry* current = _pd_set;
333 current != NULL;
334 current = current->_next) {
335 count++;
336 }
337 tty->print_cr("pd set = #%d", count);
338 }
339 };
340
341 // Entry in a SymbolPropertyTable, mapping a single Symbol*
342 // to a managed and an unmanaged pointer.
343 class SymbolPropertyEntry : public HashtableEntry<Symbol*, mtSymbol> {
344 friend class VMStructs;
345 private:
346 intptr_t _symbol_mode; // secondary key
|