< prev index next >
src/hotspot/share/gc/g1/g1BarrierSet.hpp
Print this page
@@ -23,10 +23,12 @@
*/
#ifndef SHARE_VM_GC_G1_G1BARRIERSET_HPP
#define SHARE_VM_GC_G1_G1BARRIERSET_HPP
+#include "gc/g1/dirtyCardQueue.hpp"
+#include "gc/g1/satbMarkQueue.hpp"
#include "gc/shared/cardTableBarrierSet.hpp"
class DirtyCardQueueSet;
class CardTable;
class G1CardTable;
@@ -35,11 +37,12 @@
// snapshot-at-the-beginning marking.
class G1BarrierSet: public CardTableBarrierSet {
friend class VMStructs;
private:
- DirtyCardQueueSet& _dcqs;
+ static SATBMarkQueueSet _satb_mark_queue_set;
+ static DirtyCardQueueSet _dirty_card_queue_set;
public:
G1BarrierSet(G1CardTable* table);
~G1BarrierSet() { }
@@ -72,10 +75,18 @@
void write_ref_field_post_slow(volatile jbyte* byte);
virtual void on_thread_attach(JavaThread* thread);
virtual void on_thread_detach(JavaThread* thread);
+ static SATBMarkQueueSet& satb_mark_queue_set() {
+ return _satb_mark_queue_set;
+ }
+
+ static DirtyCardQueueSet& dirty_card_queue_set() {
+ return _dirty_card_queue_set;
+ }
+
// Callbacks for runtime accesses.
template <DecoratorSet decorators, typename BarrierSetT = G1BarrierSet>
class AccessBarrier: public ModRefBarrierSet::AccessBarrier<decorators, BarrierSetT> {
typedef ModRefBarrierSet::AccessBarrier<decorators, BarrierSetT> ModRef;
typedef BarrierSet::AccessBarrier<decorators, BarrierSetT> Raw;
< prev index next >