37
38 class frame;
39 class JavaThread;
40
41 class ShenandoahOnStackNMethodClosure : public NMethodClosure {
42 private:
43 BarrierSetNMethod* _bs_nm;
44
45 void do_nmethod(nmethod* nm);
46 public:
47 ShenandoahOnStackNMethodClosure();
48 };
49
50 class ShenandoahStackWatermark : public StackWatermark {
51 private:
52 static uint32_t _epoch_id;
53 ShenandoahHeap* const _heap;
54 ThreadLocalAllocStats _stats;
55
56 // Closures
57 ShenandoahKeepAliveClosure _keep_alive_cl;
58 ShenandoahEvacuateUpdateRootsClosure _evac_update_oop_cl;
59 ShenandoahOnStackNMethodClosure _nm_cl;
60 public:
61 ShenandoahStackWatermark(JavaThread* jt);
62 ThreadLocalAllocStats& stats();
63
64 static void change_epoch_id();
65 private:
66 OopClosure* closure_from_context(void* context);
67 uint32_t epoch_id() const;
68 void start_processing_impl(void* context);
69 void process(const frame& fr, RegisterMap& register_map, void* context);
70
71 void retire_tlab();
72 };
73
74 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHSTACKWATERMARK_HPP
|
37
38 class frame;
39 class JavaThread;
40
41 class ShenandoahOnStackNMethodClosure : public NMethodClosure {
42 private:
43 BarrierSetNMethod* _bs_nm;
44
45 void do_nmethod(nmethod* nm);
46 public:
47 ShenandoahOnStackNMethodClosure();
48 };
49
50 class ShenandoahStackWatermark : public StackWatermark {
51 private:
52 static uint32_t _epoch_id;
53 ShenandoahHeap* const _heap;
54 ThreadLocalAllocStats _stats;
55
56 // Closures
57 ShenandoahNoOpClosure _no_op_cl;
58 ShenandoahKeepAliveClosure _keep_alive_cl;
59 ShenandoahEvacuateUpdateRootsClosure _evac_update_oop_cl;
60 ShenandoahOnStackNMethodClosure _nm_cl;
61 public:
62 ShenandoahStackWatermark(JavaThread* jt);
63 ThreadLocalAllocStats& stats();
64
65 static void change_epoch_id();
66 private:
67 OopClosure* closure_from_context(void* context);
68 uint32_t epoch_id() const;
69 void start_processing_impl(void* context);
70 void process(const frame& fr, RegisterMap& register_map, void* context);
71
72 void retire_tlab();
73 };
74
75 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHSTACKWATERMARK_HPP
|