< prev index next >

src/hotspot/share/gc/z/zNMethod.hpp


16  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.                                                                     
17  *                                                                                                                                   
18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA                                                           
19  * or visit www.oracle.com if you need additional information or have any                                                            
20  * questions.                                                                                                                        
21  */                                                                                                                                  
22 
23 #ifndef SHARE_GC_Z_ZNMETHOD_HPP                                                                                                      
24 #define SHARE_GC_Z_ZNMETHOD_HPP                                                                                                      
25 
26 #include "memory/allocation.hpp"                                                                                                     
27 
28 class nmethod;                                                                                                                       
29 class OopClosure;                                                                                                                    
30 class ZReentrantLock;                                                                                                                
31 class ZWorkers;                                                                                                                      
32 
33 class ZNMethod : public AllStatic {                                                                                                  
34 private:                                                                                                                             
35   static void attach_gc_data(nmethod* nm);                                                                                           
36   static void detach_gc_data(nmethod* nm);                                                                                           
37 
38   static void log_register(const nmethod* nm);                                                                                       
39   static void log_unregister(const nmethod* nm);                                                                                     
40 
41 public:                                                                                                                              
42   static void register_nmethod(nmethod* nm);                                                                                         
43   static void unregister_nmethod(nmethod* nm);                                                                                       
                                                                                                                                     
44 
45   static void disarm_nmethod(nmethod* nm);                                                                                           
46 
47   static void nmethod_oops_do(nmethod* nm, OopClosure* cl);                                                                          
48 
49   static void oops_do_begin();                                                                                                       
50   static void oops_do_end();                                                                                                         
51   static void oops_do(OopClosure* cl);                                                                                               
52 
53   static ZReentrantLock* lock_for_nmethod(nmethod* nm);                                                                              
54 
55   static void unlink(ZWorkers* workers, bool unloading_occurred);                                                                    
56   static void purge(ZWorkers* workers);                                                                                              
57 };                                                                                                                                   
58 
59 #endif // SHARE_GC_Z_ZNMETHOD_HPP                                                                                                    

16  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17  *
18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
19  * or visit www.oracle.com if you need additional information or have any
20  * questions.
21  */
22 
23 #ifndef SHARE_GC_Z_ZNMETHOD_HPP
24 #define SHARE_GC_Z_ZNMETHOD_HPP
25 
26 #include "memory/allocation.hpp"
27 
28 class nmethod;
29 class OopClosure;
30 class ZReentrantLock;
31 class ZWorkers;
32 
33 class ZNMethod : public AllStatic {
34 private:
35   static void attach_gc_data(nmethod* nm);

36 
37   static void log_register(const nmethod* nm);
38   static void log_unregister(const nmethod* nm);
39 
40 public:
41   static void register_nmethod(nmethod* nm);
42   static void unregister_nmethod(nmethod* nm);
43   static void flush_nmethod(nmethod* nm);
44 
45   static void disarm_nmethod(nmethod* nm);
46 
47   static void nmethod_oops_do(nmethod* nm, OopClosure* cl);
48 
49   static void oops_do_begin();
50   static void oops_do_end();
51   static void oops_do(OopClosure* cl);
52 
53   static ZReentrantLock* lock_for_nmethod(nmethod* nm);
54 
55   static void unlink(ZWorkers* workers, bool unloading_occurred);
56   static void purge(ZWorkers* workers);
57 };
58 
59 #endif // SHARE_GC_Z_ZNMETHOD_HPP
< prev index next >