equal
deleted
inserted
replaced
25 |
25 |
26 #include "memory/iterator.hpp" |
26 #include "memory/iterator.hpp" |
27 |
27 |
28 class ShenandoahHeap; |
28 class ShenandoahHeap; |
29 class ShenandoahMarkingContext; |
29 class ShenandoahMarkingContext; |
|
30 class ShenandoahHeapRegionSet; |
30 class Thread; |
31 class Thread; |
31 |
32 |
32 class ShenandoahForwardedIsAliveClosure: public BoolObjectClosure { |
33 class ShenandoahForwardedIsAliveClosure: public BoolObjectClosure { |
33 private: |
34 private: |
34 ShenandoahMarkingContext* const _mark_context; |
35 ShenandoahMarkingContext* const _mark_context; |
56 class ShenandoahUpdateRefsClosure: public OopClosure { |
57 class ShenandoahUpdateRefsClosure: public OopClosure { |
57 private: |
58 private: |
58 ShenandoahHeap* _heap; |
59 ShenandoahHeap* _heap; |
59 public: |
60 public: |
60 inline ShenandoahUpdateRefsClosure(); |
61 inline ShenandoahUpdateRefsClosure(); |
|
62 inline void do_oop(oop* p); |
|
63 inline void do_oop(narrowOop* p); |
|
64 private: |
|
65 template <class T> |
|
66 inline void do_oop_work(T* p); |
|
67 }; |
|
68 |
|
69 class ShenandoahTraversalUpdateRefsClosure: public OopClosure { |
|
70 private: |
|
71 ShenandoahHeap* const _heap; |
|
72 ShenandoahHeapRegionSet* const _traversal_set; |
|
73 |
|
74 public: |
|
75 inline ShenandoahTraversalUpdateRefsClosure(); |
61 inline void do_oop(oop* p); |
76 inline void do_oop(oop* p); |
62 inline void do_oop(narrowOop* p); |
77 inline void do_oop(narrowOop* p); |
63 private: |
78 private: |
64 template <class T> |
79 template <class T> |
65 inline void do_oop_work(T* p); |
80 inline void do_oop_work(T* p); |