< prev index next >

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

Print this page

50 
51   void possibly_parallel_nmethods_do(NMethodClosure *f);
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_for_mark();
71   static void arm_nmethods_for_evac();
72   static void disarm_nmethods();
73   static int  disarmed_value()         { return _disarmed_value; }
74   static int* disarmed_value_address() { return &_disarmed_value; }
75 
76   static bool use_nmethod_barriers_for_mark();
77 
78 private:
79   static ShenandoahNMethodTable* _nmethod_table;
80   static int                     _disarmed_value;
81 };
82 
83 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHCODEROOTS_HPP

50 
51   void possibly_parallel_nmethods_do(NMethodClosure *f);
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 arm_nmethods_for_mark();
72   static void arm_nmethods_for_evac();
73   static void disarm_nmethods();
74   static int  disarmed_value()         { return _disarmed_value; }
75   static int* disarmed_value_address() { return &_disarmed_value; }
76 
77   static bool use_nmethod_barriers_for_mark();
78 
79 private:
80   static ShenandoahNMethodTable* _nmethod_table;
81   static int                     _disarmed_value;
82 };
83 
84 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHCODEROOTS_HPP
< prev index next >