--- a/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp Wed Mar 28 22:03:57 2018 +0200
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp Thu Apr 12 08:25:30 2018 +0200
@@ -26,6 +26,7 @@
#include "classfile/metadataOnStackMark.hpp"
#include "classfile/symbolTable.hpp"
#include "code/codeCache.hpp"
+#include "gc/g1/g1BarrierSet.hpp"
#include "gc/g1/g1CollectedHeap.inline.hpp"
#include "gc/g1/g1CollectorState.hpp"
#include "gc/g1/g1ConcurrentMark.inline.hpp"
@@ -405,7 +406,7 @@
assert(CGC_lock != NULL, "CGC_lock must be initialized");
- SATBMarkQueueSet& satb_qs = JavaThread::satb_mark_queue_set();
+ SATBMarkQueueSet& satb_qs = G1BarrierSet::satb_mark_queue_set();
satb_qs.set_buffer_size(G1SATBBufferSize);
_root_regions.init(_g1h->survivor(), this);
@@ -762,7 +763,7 @@
rp->enable_discovery();
rp->setup_policy(false); // snapshot the soft ref policy to be used in this cycle
- SATBMarkQueueSet& satb_mq_set = JavaThread::satb_mark_queue_set();
+ SATBMarkQueueSet& satb_mq_set = G1BarrierSet::satb_mark_queue_set();
// This is the start of the marking cycle, we're expected all
// threads to have SATB queues with active set to false.
satb_mq_set.set_active_all_threads(true, /* new active value */
@@ -1073,7 +1074,7 @@
if (mark_finished) {
weak_refs_work(false /* clear_all_soft_refs */);
- SATBMarkQueueSet& satb_mq_set = JavaThread::satb_mark_queue_set();
+ SATBMarkQueueSet& satb_mq_set = G1BarrierSet::satb_mark_queue_set();
// We're done with marking.
// This is the end of the marking cycle, we're expected all
// threads to have SATB queues with active set to true.
@@ -1695,7 +1696,7 @@
}
} else if (thread->is_VM_thread()) {
if (thread->claim_oops_do(true, _thread_parity)) {
- JavaThread::satb_mark_queue_set().shared_satb_queue()->apply_closure_and_empty(&_cm_satb_cl);
+ G1BarrierSet::satb_mark_queue_set().shared_satb_queue()->apply_closure_and_empty(&_cm_satb_cl);
}
}
}
@@ -1755,7 +1756,7 @@
_g1h->workers()->run_task(&remarkTask);
}
- SATBMarkQueueSet& satb_mq_set = JavaThread::satb_mark_queue_set();
+ SATBMarkQueueSet& satb_mq_set = G1BarrierSet::satb_mark_queue_set();
guarantee(has_overflown() ||
satb_mq_set.completed_buffers_num() == 0,
"Invariant: has_overflown = %s, num buffers = " SIZE_FORMAT,
@@ -1937,7 +1938,7 @@
_second_overflow_barrier_sync.abort();
_has_aborted = true;
- SATBMarkQueueSet& satb_mq_set = JavaThread::satb_mark_queue_set();
+ SATBMarkQueueSet& satb_mq_set = G1BarrierSet::satb_mark_queue_set();
satb_mq_set.abandon_partial_marking();
// This can be called either during or outside marking, we'll read
// the expected_active value from the SATB queue set.
@@ -2147,7 +2148,7 @@
// (6) Finally, we check whether there are enough completed STAB
// buffers available for processing. If there are, we abort.
- SATBMarkQueueSet& satb_mq_set = JavaThread::satb_mark_queue_set();
+ SATBMarkQueueSet& satb_mq_set = G1BarrierSet::satb_mark_queue_set();
if (!_draining_satb_buffers && satb_mq_set.process_completed_buffers()) {
// we do need to process SATB buffers, we'll abort and restart
// the marking task to do so
@@ -2302,7 +2303,7 @@
_draining_satb_buffers = true;
G1CMSATBBufferClosure satb_cl(this, _g1h);
- SATBMarkQueueSet& satb_mq_set = JavaThread::satb_mark_queue_set();
+ SATBMarkQueueSet& satb_mq_set = G1BarrierSet::satb_mark_queue_set();
// This keeps claiming and applying the closure to completed buffers
// until we run out of buffers or we need to abort.