src/share/vm/code/nmethod.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8029443 Sdiff src/share/vm/code

src/share/vm/code/nmethod.hpp

Print this page




 585   // Only NMethodSweeper class is expected to use this. NMethodSweeper is not
 586   // expected to use any other private methods/data in this class.
 587 
 588  protected:
 589   void flush();
 590 
 591  public:
 592   // When true is returned, it is unsafe to remove this nmethod even if
 593   // it is a zombie, since the VM or the ServiceThread might still be
 594   // using it.
 595   bool is_locked_by_vm() const                    { return _lock_count >0; }
 596 
 597   // See comment at definition of _last_seen_on_stack
 598   void mark_as_seen_on_stack();
 599   bool can_not_entrant_be_converted();
 600 
 601   // Evolution support. We make old (discarded) compiled methods point to new Method*s.
 602   void set_method(Method* method) { _method = method; }
 603 
 604   // GC support

 605   void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred);
 606   //  The parallel versions are used by G1.
 607   bool do_unloading_parallel(BoolObjectClosure* is_alive, bool unloading_occurred);
 608   void do_unloading_parallel_postponed(BoolObjectClosure* is_alive, bool unloading_occurred);
 609   //  Unload a nmethod if the *root object is dead.
 610   bool can_unload(BoolObjectClosure* is_alive, oop* root, bool unloading_occurred);
 611 
 612   void preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map,
 613                                      OopClosure* f);
 614   void oops_do(OopClosure* f) { oops_do(f, false); }
 615   void oops_do(OopClosure* f, bool allow_zombie);
 616   bool detect_scavenge_root_oops();
 617   void verify_scavenge_root_oops() PRODUCT_RETURN;
 618 
 619   bool test_set_oops_do_mark();
 620   static void oops_do_marking_prologue();
 621   static void oops_do_marking_epilogue();
 622   static bool oops_do_marking_is_active() { return _oops_do_mark_nmethods != NULL; }
 623   bool test_oops_do_mark() { return _oops_do_mark_link != NULL; }
 624 




 585   // Only NMethodSweeper class is expected to use this. NMethodSweeper is not
 586   // expected to use any other private methods/data in this class.
 587 
 588  protected:
 589   void flush();
 590 
 591  public:
 592   // When true is returned, it is unsafe to remove this nmethod even if
 593   // it is a zombie, since the VM or the ServiceThread might still be
 594   // using it.
 595   bool is_locked_by_vm() const                    { return _lock_count >0; }
 596 
 597   // See comment at definition of _last_seen_on_stack
 598   void mark_as_seen_on_stack();
 599   bool can_not_entrant_be_converted();
 600 
 601   // Evolution support. We make old (discarded) compiled methods point to new Method*s.
 602   void set_method(Method* method) { _method = method; }
 603 
 604   // GC support
 605   bool stub_contains_dead_metadata(BoolObjectClosure* is_alive, address stub);
 606   void do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred);
 607   //  The parallel versions are used by G1.
 608   bool do_unloading_parallel(BoolObjectClosure* is_alive, bool unloading_occurred);
 609   void do_unloading_parallel_postponed(BoolObjectClosure* is_alive, bool unloading_occurred);
 610   //  Unload a nmethod if the *root object is dead.
 611   bool can_unload(BoolObjectClosure* is_alive, oop* root, bool unloading_occurred);
 612 
 613   void preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map,
 614                                      OopClosure* f);
 615   void oops_do(OopClosure* f) { oops_do(f, false); }
 616   void oops_do(OopClosure* f, bool allow_zombie);
 617   bool detect_scavenge_root_oops();
 618   void verify_scavenge_root_oops() PRODUCT_RETURN;
 619 
 620   bool test_set_oops_do_mark();
 621   static void oops_do_marking_prologue();
 622   static void oops_do_marking_epilogue();
 623   static bool oops_do_marking_is_active() { return _oops_do_mark_nmethods != NULL; }
 624   bool test_oops_do_mark() { return _oops_do_mark_link != NULL; }
 625 


src/share/vm/code/nmethod.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File