src/hotspot/share/code/nmethod.hpp
changeset 49890 29b94ed63a09
parent 49480 d7df2dd501ce
child 50416 ef980b9ac191
equal deleted inserted replaced
49889:4de5ca97feee 49890:29b94ed63a09
   347 
   347 
   348   int get_state() const {
   348   int get_state() const {
   349     return _state;
   349     return _state;
   350   }
   350   }
   351 
   351 
   352   void  make_unloaded(BoolObjectClosure* is_alive, oop cause);
   352   void  make_unloaded(oop cause);
   353 
   353 
   354   bool has_dependencies()                         { return dependencies_size() != 0; }
   354   bool has_dependencies()                         { return dependencies_size() != 0; }
   355   void flush_dependencies(BoolObjectClosure* is_alive);
   355   void flush_dependencies(bool delete_immediately);
   356   bool has_flushed_dependencies()                 { return _has_flushed_dependencies; }
   356   bool has_flushed_dependencies()                 { return _has_flushed_dependencies; }
   357   void set_has_flushed_dependencies()             {
   357   void set_has_flushed_dependencies()             {
   358     assert(!has_flushed_dependencies(), "should only happen once");
   358     assert(!has_flushed_dependencies(), "should only happen once");
   359     _has_flushed_dependencies = 1;
   359     _has_flushed_dependencies = 1;
   360   }
   360   }
   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, bool unloading_occurred);
   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(BoolObjectClosure* is_alive, bool unloading_occurred);
   491   virtual bool do_unloading_jvmci(bool unloading_occurred);
   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, bool unloading_occurred);
   496   //  Unload a nmethod if the *root object is dead.
   496   //  Unload a nmethod if the *root object is dead.