< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp

Print this page

52 };
53 
54 class ShenandoahCodeRoots : public AllStatic {
55   friend class ShenandoahHeap;
56   friend class ShenandoahCodeRootsIterator;
57 
58 public:
59   static void initialize();
60   static void register_nmethod(nmethod* nm);
61   static void unregister_nmethod(nmethod* nm);
62 
63   static ShenandoahNMethodTable* table() {
64     return _nmethod_table;
65   }
66 
67   // Concurrent nmethod unloading support
68   static void unlink(WorkerThreads* workers, bool unloading_occurred);
69   static void purge();
70   static void arm_nmethods();
71   static void disarm_nmethods();


72   static int  disarmed_value()         { return _disarmed_value; }
73   static int* disarmed_value_address() { return &_disarmed_value; }
74 
75 private:
76   static ShenandoahNMethodTable* _nmethod_table;
77   static int                     _disarmed_value;
78 };
79 
80 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHCODEROOTS_HPP

52 };
53 
54 class ShenandoahCodeRoots : public AllStatic {
55   friend class ShenandoahHeap;
56   friend class ShenandoahCodeRootsIterator;
57 
58 public:
59   static void initialize();
60   static void register_nmethod(nmethod* nm);
61   static void unregister_nmethod(nmethod* nm);
62 
63   static ShenandoahNMethodTable* table() {
64     return _nmethod_table;
65   }
66 
67   // Concurrent nmethod unloading support
68   static void unlink(WorkerThreads* workers, bool unloading_occurred);
69   static void purge();
70   static void arm_nmethods();
71   static void disarm_nmethods();
72   static void check_barriers() NOT_DEBUG_RETURN;
73 
74   static int  disarmed_value()         { return _disarmed_value; }
75   static int* disarmed_value_address() { return &_disarmed_value; }
76 
77 private:
78   static ShenandoahNMethodTable* _nmethod_table;
79   static int                     _disarmed_value;
80 };
81 
82 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHCODEROOTS_HPP
< prev index next >