equal
deleted
inserted
replaced
346 // Unload (that is, break root links to) all unmarked classes and |
346 // Unload (that is, break root links to) all unmarked classes and |
347 // loaders. Returns "true" iff something was unloaded. |
347 // loaders. Returns "true" iff something was unloaded. |
348 static bool do_unloading(GCTimer* gc_timer); |
348 static bool do_unloading(GCTimer* gc_timer); |
349 |
349 |
350 // Applies "f->do_oop" to all root oops in the system dictionary. |
350 // Applies "f->do_oop" to all root oops in the system dictionary. |
351 static void oops_do(OopClosure* f); |
351 // If include_handles is true (the default), then the handles in the |
|
352 // storage object returned by vm_global_oop_storage() are included. |
|
353 static void oops_do(OopClosure* f, bool include_handles = true); |
352 |
354 |
353 // System loader lock |
355 // System loader lock |
354 static oop system_loader_lock() { return _system_loader_lock_obj; } |
356 static oop system_loader_lock() { return _system_loader_lock_obj; } |
355 |
357 |
356 // Protection Domain Table |
358 // Protection Domain Table |
561 static SymbolPropertyTable* _invoke_method_table; |
563 static SymbolPropertyTable* _invoke_method_table; |
562 |
564 |
563 // ProtectionDomain cache |
565 // ProtectionDomain cache |
564 static ProtectionDomainCacheTable* _pd_cache_table; |
566 static ProtectionDomainCacheTable* _pd_cache_table; |
565 |
567 |
566 // VM weak OopStorage object. |
568 // VM OopStorage objects. |
|
569 static OopStorage* _vm_global_oop_storage; |
567 static OopStorage* _vm_weak_oop_storage; |
570 static OopStorage* _vm_weak_oop_storage; |
568 |
571 |
569 protected: |
572 protected: |
570 static void validate_protection_domain(InstanceKlass* klass, |
573 static void validate_protection_domain(InstanceKlass* klass, |
571 Handle class_loader, |
574 Handle class_loader, |
619 assert(m != NULL, "Unexpected NULL Method*"); |
622 assert(m != NULL, "Unexpected NULL Method*"); |
620 return !m->is_public() && m->method_holder() == SystemDictionary::Object_klass(); |
623 return !m->is_public() && m->method_holder() == SystemDictionary::Object_klass(); |
621 } |
624 } |
622 |
625 |
623 static void initialize_oop_storage(); |
626 static void initialize_oop_storage(); |
|
627 static OopStorage* vm_global_oop_storage(); |
624 static OopStorage* vm_weak_oop_storage(); |
628 static OopStorage* vm_weak_oop_storage(); |
625 |
629 |
626 protected: |
630 protected: |
627 // Setup link to hierarchy |
631 // Setup link to hierarchy |
628 static void add_to_hierarchy(InstanceKlass* k, TRAPS); |
632 static void add_to_hierarchy(InstanceKlass* k, TRAPS); |