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
|