20 * questions.
21 *
22 */
23
24 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHSATBMARKQUEUESET_HPP
25 #define SHARE_GC_SHENANDOAH_SHENANDOAHSATBMARKQUEUESET_HPP
26
27 #include "gc/shared/satbMarkQueue.hpp"
28 #include "gc/shenandoah/shenandoahHeap.hpp"
29 #include "runtime/mutex.hpp"
30 #include "runtime/thread.hpp"
31
32 class ShenandoahSATBMarkQueue: public SATBMarkQueue {
33 protected:
34 virtual void handle_completed_buffer();
35 public:
36 ShenandoahSATBMarkQueue(SATBMarkQueueSet* qset) : SATBMarkQueue(qset) {}
37 };
38
39 class ShenandoahSATBMarkQueueSet : public SATBMarkQueueSet {
40 private:
41 ShenandoahHeap* _heap;
42 BufferNode::Allocator _satb_mark_queue_buffer_allocator;
43 public:
44 ShenandoahSATBMarkQueueSet();
45
46 void initialize(ShenandoahHeap* const heap,
47 int process_completed_threshold,
48 uint buffer_enqueue_threshold_percentage);
49
50 virtual SATBMarkQueue& satb_queue_for_thread(Thread* const t) const;
51 virtual void filter(SATBMarkQueue* queue);
52 };
53
54 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHSATBMARKQUEUESET_HPP
|
20 * questions.
21 *
22 */
23
24 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHSATBMARKQUEUESET_HPP
25 #define SHARE_GC_SHENANDOAH_SHENANDOAHSATBMARKQUEUESET_HPP
26
27 #include "gc/shared/satbMarkQueue.hpp"
28 #include "gc/shenandoah/shenandoahHeap.hpp"
29 #include "runtime/mutex.hpp"
30 #include "runtime/thread.hpp"
31
32 class ShenandoahSATBMarkQueue: public SATBMarkQueue {
33 protected:
34 virtual void handle_completed_buffer();
35 public:
36 ShenandoahSATBMarkQueue(SATBMarkQueueSet* qset) : SATBMarkQueue(qset) {}
37 };
38
39 class ShenandoahSATBMarkQueueSet : public SATBMarkQueueSet {
40 public:
41 ShenandoahSATBMarkQueueSet(BufferNode::Allocator* allocator);
42
43 virtual SATBMarkQueue& satb_queue_for_thread(Thread* const t) const;
44 virtual void filter(SATBMarkQueue* queue);
45 };
46
47 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHSATBMARKQUEUESET_HPP
|