< prev index next >

src/hotspot/share/code/dependencyContext.hpp

Print this page




 124     _safepoint_counter(SafepointSynchronize::_safepoint_counter) {}
 125 
 126   ~DependencyContext() {
 127     assert(_safepoint_counter == SafepointSynchronize::_safepoint_counter, "safepoint happened");
 128   }
 129 #else
 130   DependencyContext(intptr_t* addr) : _dependency_context_addr(addr) {}
 131 #endif // ASSERT
 132 
 133   static const intptr_t EMPTY = 0; // dependencies = NULL, has_stale_entries = false
 134 
 135   static void init();
 136 
 137   int  mark_dependent_nmethods(DepChange& changes);
 138   void add_dependent_nmethod(nmethod* nm, bool expunge_stale_entries = false);
 139   void remove_dependent_nmethod(nmethod* nm, bool expunge_stale_entries = false);
 140   int  remove_all_dependents();
 141 
 142   void expunge_stale_entries();
 143 
 144   // Unsafe deallocation of nmethodBuckets. Used in IK::release_C_heap_structures
 145   // to clean up the context possibly containing live entries pointing to unloaded nmethods.
 146   void wipe();
 147 
 148 #ifndef PRODUCT
 149   void print_dependent_nmethods(bool verbose);
 150   bool is_dependent_nmethod(nmethod* nm);
 151   bool find_stale_entries();
 152 #endif //PRODUCT
 153 };
 154 #endif // SHARE_VM_CODE_DEPENDENCYCONTEXT_HPP


 124     _safepoint_counter(SafepointSynchronize::_safepoint_counter) {}
 125 
 126   ~DependencyContext() {
 127     assert(_safepoint_counter == SafepointSynchronize::_safepoint_counter, "safepoint happened");
 128   }
 129 #else
 130   DependencyContext(intptr_t* addr) : _dependency_context_addr(addr) {}
 131 #endif // ASSERT
 132 
 133   static const intptr_t EMPTY = 0; // dependencies = NULL, has_stale_entries = false
 134 
 135   static void init();
 136 
 137   int  mark_dependent_nmethods(DepChange& changes);
 138   void add_dependent_nmethod(nmethod* nm, bool expunge_stale_entries = false);
 139   void remove_dependent_nmethod(nmethod* nm, bool expunge_stale_entries = false);
 140   int  remove_all_dependents();
 141 
 142   void expunge_stale_entries();
 143 




 144 #ifndef PRODUCT
 145   void print_dependent_nmethods(bool verbose);
 146   bool is_dependent_nmethod(nmethod* nm);
 147   bool find_stale_entries();
 148 #endif //PRODUCT
 149 };
 150 #endif // SHARE_VM_CODE_DEPENDENCYCONTEXT_HPP
< prev index next >