< prev index next >

src/hotspot/share/code/dependencyContext.hpp


105       _safepoint_counter(SafepointSynchronize::safepoint_counter()) {}                                                               
106 
107   ~DependencyContext() {                                                                                                             
108     assert(_safepoint_counter == SafepointSynchronize::safepoint_counter(), "safepoint happened");                                   
109   }                                                                                                                                  
110 #else                                                                                                                                
111   DependencyContext(nmethodBucket* volatile* bucket_addr, volatile uint64_t* last_cleanup_addr)                                      
112     : _dependency_context_addr(bucket_addr),                                                                                         
113       _last_cleanup_addr(last_cleanup_addr) {}                                                                                       
114 #endif // ASSERT                                                                                                                     
115 
116   static void init();                                                                                                                
117 
118   int  mark_dependent_nmethods(DepChange& changes);                                                                                  
119   void add_dependent_nmethod(nmethod* nm);                                                                                           
120   void remove_dependent_nmethod(nmethod* nm);                                                                                        
121   int  remove_all_dependents();                                                                                                      
122   void clean_unloading_dependents();                                                                                                 
123   static void purge_dependency_contexts();                                                                                           
124   static void release(nmethodBucket* b);                                                                                             
125   static void gc_prologue();                                                                                                         
126   static void gc_epilogue();                                                                                                         
127 
128 #ifndef PRODUCT                                                                                                                      
129   void print_dependent_nmethods(bool verbose);                                                                                       
130   bool is_dependent_nmethod(nmethod* nm);                                                                                            
131 #endif //PRODUCT                                                                                                                     
132 };                                                                                                                                   
133 #endif // SHARE_VM_CODE_DEPENDENCYCONTEXT_HPP                                                                                        

105       _safepoint_counter(SafepointSynchronize::safepoint_counter()) {}
106 
107   ~DependencyContext() {
108     assert(_safepoint_counter == SafepointSynchronize::safepoint_counter(), "safepoint happened");
109   }
110 #else
111   DependencyContext(nmethodBucket* volatile* bucket_addr, volatile uint64_t* last_cleanup_addr)
112     : _dependency_context_addr(bucket_addr),
113       _last_cleanup_addr(last_cleanup_addr) {}
114 #endif // ASSERT
115 
116   static void init();
117 
118   int  mark_dependent_nmethods(DepChange& changes);
119   void add_dependent_nmethod(nmethod* nm);
120   void remove_dependent_nmethod(nmethod* nm);
121   int  remove_all_dependents();
122   void clean_unloading_dependents();
123   static void purge_dependency_contexts();
124   static void release(nmethodBucket* b);
125   static void cleaning_start();
126   static void cleaning_end();
127 
128 #ifndef PRODUCT
129   void print_dependent_nmethods(bool verbose);
130   bool is_dependent_nmethod(nmethod* nm);
131 #endif //PRODUCT
132 };
133 #endif // SHARE_VM_CODE_DEPENDENCYCONTEXT_HPP
< prev index next >