< prev index next >

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

Print this page

 18  *
 19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 20  * or visit www.oracle.com if you need additional information or have any
 21  * questions.
 22  *
 23  */
 24 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCLOSURES_HPP
 25 #define SHARE_GC_SHENANDOAH_SHENANDOAHCLOSURES_HPP
 26 
 27 #include "code/nmethod.hpp"
 28 #include "memory/iterator.hpp"
 29 #include "oops/accessDecorators.hpp"
 30 #include "runtime/handshake.hpp"
 31 
 32 class BarrierSetNMethod;
 33 class ShenandoahBarrierSet;
 34 class ShenandoahHeap;
 35 class ShenandoahMarkingContext;
 36 class ShenandoahHeapRegionSet;
 37 class Thread;









 38 
 39 class ShenandoahForwardedIsAliveClosure: public BoolObjectClosure {
 40 private:
 41   ShenandoahMarkingContext* const _mark_context;
 42 public:
 43   inline ShenandoahForwardedIsAliveClosure();
 44   inline bool do_object_b(oop obj);
 45 };
 46 
 47 class ShenandoahIsAliveClosure: public BoolObjectClosure {
 48 private:
 49   ShenandoahMarkingContext* const _mark_context;
 50 public:
 51   inline ShenandoahIsAliveClosure();
 52   inline bool do_object_b(oop obj);
 53 };
 54 
 55 class ShenandoahIsAliveSelector : public StackObj {
 56 private:
 57   ShenandoahIsAliveClosure _alive_cl;

 18  *
 19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 20  * or visit www.oracle.com if you need additional information or have any
 21  * questions.
 22  *
 23  */
 24 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCLOSURES_HPP
 25 #define SHARE_GC_SHENANDOAH_SHENANDOAHCLOSURES_HPP
 26 
 27 #include "code/nmethod.hpp"
 28 #include "memory/iterator.hpp"
 29 #include "oops/accessDecorators.hpp"
 30 #include "runtime/handshake.hpp"
 31 
 32 class BarrierSetNMethod;
 33 class ShenandoahBarrierSet;
 34 class ShenandoahHeap;
 35 class ShenandoahMarkingContext;
 36 class ShenandoahHeapRegionSet;
 37 class Thread;
 38 class SATBMarkQueueSet;
 39 
 40 class ShenandoahFlushSATBHandshakeClosure : public HandshakeClosure {
 41 private:
 42   SATBMarkQueueSet& _qset;
 43 public:
 44   inline explicit ShenandoahFlushSATBHandshakeClosure(SATBMarkQueueSet& qset);
 45   inline void do_thread(Thread* thread) override;
 46 };
 47 
 48 class ShenandoahForwardedIsAliveClosure: public BoolObjectClosure {
 49 private:
 50   ShenandoahMarkingContext* const _mark_context;
 51 public:
 52   inline ShenandoahForwardedIsAliveClosure();
 53   inline bool do_object_b(oop obj);
 54 };
 55 
 56 class ShenandoahIsAliveClosure: public BoolObjectClosure {
 57 private:
 58   ShenandoahMarkingContext* const _mark_context;
 59 public:
 60   inline ShenandoahIsAliveClosure();
 61   inline bool do_object_b(oop obj);
 62 };
 63 
 64 class ShenandoahIsAliveSelector : public StackObj {
 65 private:
 66   ShenandoahIsAliveClosure _alive_cl;
< prev index next >