src/hotspot/share/code/nmethod.hpp
changeset 50416 ef980b9ac191
parent 49890 29b94ed63a09
child 51473 871581ff5ce5
equal deleted inserted replaced
50415:e4301f8c3aaa 50416:ef980b9ac191
   482 
   482 
   483  public:
   483  public:
   484 #endif
   484 #endif
   485 
   485 
   486  protected:
   486  protected:
   487   virtual bool do_unloading_oops(address low_boundary, BoolObjectClosure* is_alive, bool unloading_occurred);
   487   virtual bool do_unloading_oops(address low_boundary, BoolObjectClosure* is_alive);
   488 #if INCLUDE_JVMCI
   488 #if INCLUDE_JVMCI
   489   // See comment for _jvmci_installed_code_triggers_unloading field.
   489   // See comment for _jvmci_installed_code_triggers_unloading field.
   490   // Returns whether this nmethod was unloaded.
   490   // Returns whether this nmethod was unloaded.
   491   virtual bool do_unloading_jvmci(bool unloading_occurred);
   491   virtual bool do_unloading_jvmci();
   492 #endif
   492 #endif
   493 
   493 
   494  private:
   494  private:
   495   bool do_unloading_scopes(BoolObjectClosure* is_alive, bool unloading_occurred);
   495   bool do_unloading_scopes(BoolObjectClosure* is_alive);
   496   //  Unload a nmethod if the *root object is dead.
   496   //  Unload a nmethod if the *root object is dead.
   497   bool can_unload(BoolObjectClosure* is_alive, oop* root, bool unloading_occurred);
   497   bool can_unload(BoolObjectClosure* is_alive, oop* root);
   498   bool unload_if_dead_at(RelocIterator *iter_at_oop, BoolObjectClosure* is_alive, bool unloading_occurred);
   498   bool unload_if_dead_at(RelocIterator *iter_at_oop, BoolObjectClosure* is_alive);
   499 
   499 
   500  public:
   500  public:
   501   void oops_do(OopClosure* f) { oops_do(f, false); }
   501   void oops_do(OopClosure* f) { oops_do(f, false); }
   502   void oops_do(OopClosure* f, bool allow_zombie);
   502   void oops_do(OopClosure* f, bool allow_zombie);
   503   bool detect_scavenge_root_oops();
   503   bool detect_scavenge_root_oops();