comparison src/share/vm/code/nmethod.hpp @ 20619:b12a2a9b05ca

8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse Reviewed-by: mgerdin, coleenp, bdelsart
author stefank
date Thu, 02 Oct 2014 10:55:36 +0200
parents aff6ccb506cb
children 7848fc12602b 682119c4c32e
comparison
equal deleted inserted replaced
20618:7024b693c8f9 20619:b12a2a9b05ca
612 // GC support 612 // GC support
613 void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred); 613 void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred);
614 // The parallel versions are used by G1. 614 // The parallel versions are used by G1.
615 bool do_unloading_parallel(BoolObjectClosure* is_alive, bool unloading_occurred); 615 bool do_unloading_parallel(BoolObjectClosure* is_alive, bool unloading_occurred);
616 void do_unloading_parallel_postponed(BoolObjectClosure* is_alive, bool unloading_occurred); 616 void do_unloading_parallel_postponed(BoolObjectClosure* is_alive, bool unloading_occurred);
617
618 private:
617 // Unload a nmethod if the *root object is dead. 619 // Unload a nmethod if the *root object is dead.
618 bool can_unload(BoolObjectClosure* is_alive, oop* root, bool unloading_occurred); 620 bool can_unload(BoolObjectClosure* is_alive, oop* root, bool unloading_occurred);
619 621 bool unload_if_dead_at(RelocIterator *iter_at_oop, BoolObjectClosure* is_alive, bool unloading_occurred);
622
623 void mark_metadata_on_stack_at(RelocIterator* iter_at_metadata);
624 void mark_metadata_on_stack_non_relocs();
625
626 public:
620 void preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, 627 void preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map,
621 OopClosure* f); 628 OopClosure* f);
622 void oops_do(OopClosure* f) { oops_do(f, false); } 629 void oops_do(OopClosure* f) { oops_do(f, false); }
623 void oops_do(OopClosure* f, bool allow_zombie); 630 void oops_do(OopClosure* f, bool allow_zombie);
624 bool detect_scavenge_root_oops(); 631 bool detect_scavenge_root_oops();