< prev index next >
src/hotspot/share/gc/g1/g1CollectedHeap.cpp
Print this page
rev 59232 : [mq]: scan_task
@@ -1539,16 +1539,16 @@
// Override the default _filler_array_max_size so that no humongous filler
// objects are created.
_filler_array_max_size = _humongous_object_threshold_in_words;
uint n_queues = ParallelGCThreads;
- _task_queues = new RefToScanQueueSet(n_queues);
+ _task_queues = new ScannerTasksQueueSet(n_queues);
_evacuation_failed_info_array = NEW_C_HEAP_ARRAY(EvacuationFailedInfo, n_queues, mtGC);
for (uint i = 0; i < n_queues; i++) {
- RefToScanQueue* q = new RefToScanQueue();
+ ScannerTasksQueue* q = new ScannerTasksQueue();
q->initialize();
_task_queues->register_queue(i, q);
::new (&_evacuation_failed_info_array[i]) EvacuationFailedInfo();
}
@@ -3396,11 +3396,11 @@
// it alive by policy. Therefore we have copy the referent.
//
// When the queue is drained (after each phase of reference processing)
// the object and it's followers will be copied, the reference field set
// to point to the new location, and the RSet updated.
- _par_scan_state->push_on_queue(p);
+ _par_scan_state->push_on_queue(ScannerTask(p));
}
}
};
// Serial drain queue closure. Called as the 'complete_gc'
@@ -3433,18 +3433,18 @@
class G1STWRefProcTaskExecutor: public AbstractRefProcTaskExecutor {
private:
G1CollectedHeap* _g1h;
G1ParScanThreadStateSet* _pss;
- RefToScanQueueSet* _queues;
+ ScannerTasksQueueSet* _queues;
WorkGang* _workers;
public:
G1STWRefProcTaskExecutor(G1CollectedHeap* g1h,
G1ParScanThreadStateSet* per_thread_states,
WorkGang* workers,
- RefToScanQueueSet *task_queues) :
+ ScannerTasksQueueSet *task_queues) :
_g1h(g1h),
_pss(per_thread_states),
_queues(task_queues),
_workers(workers)
{
@@ -3460,18 +3460,18 @@
class G1STWRefProcTaskProxy: public AbstractGangTask {
typedef AbstractRefProcTaskExecutor::ProcessTask ProcessTask;
ProcessTask& _proc_task;
G1CollectedHeap* _g1h;
G1ParScanThreadStateSet* _pss;
- RefToScanQueueSet* _task_queues;
+ ScannerTasksQueueSet* _task_queues;
TaskTerminator* _terminator;
public:
G1STWRefProcTaskProxy(ProcessTask& proc_task,
G1CollectedHeap* g1h,
G1ParScanThreadStateSet* per_thread_states,
- RefToScanQueueSet *task_queues,
+ ScannerTasksQueueSet *task_queues,
TaskTerminator* terminator) :
AbstractGangTask("Process reference objects in parallel"),
_proc_task(proc_task),
_g1h(g1h),
_pss(per_thread_states),
@@ -3798,11 +3798,11 @@
class G1EvacuateRegionsBaseTask : public AbstractGangTask {
protected:
G1CollectedHeap* _g1h;
G1ParScanThreadStateSet* _per_thread_states;
- RefToScanQueueSet* _task_queues;
+ ScannerTasksQueueSet* _task_queues;
TaskTerminator _terminator;
uint _num_workers;
void evacuate_live_objects(G1ParScanThreadState* pss,
uint worker_id,
@@ -3836,11 +3836,14 @@
virtual void scan_roots(G1ParScanThreadState* pss, uint worker_id) = 0;
virtual void evacuate_live_objects(G1ParScanThreadState* pss, uint worker_id) = 0;
public:
- G1EvacuateRegionsBaseTask(const char* name, G1ParScanThreadStateSet* per_thread_states, RefToScanQueueSet* task_queues, uint num_workers) :
+ G1EvacuateRegionsBaseTask(const char* name,
+ G1ParScanThreadStateSet* per_thread_states,
+ ScannerTasksQueueSet* task_queues,
+ uint num_workers) :
AbstractGangTask(name),
_g1h(G1CollectedHeap::heap()),
_per_thread_states(per_thread_states),
_task_queues(task_queues),
_terminator(num_workers, _task_queues),
@@ -3887,11 +3890,11 @@
}
public:
G1EvacuateRegionsTask(G1CollectedHeap* g1h,
G1ParScanThreadStateSet* per_thread_states,
- RefToScanQueueSet* task_queues,
+ ScannerTasksQueueSet* task_queues,
G1RootProcessor* root_processor,
uint num_workers) :
G1EvacuateRegionsBaseTask("G1 Evacuate Regions", per_thread_states, task_queues, num_workers),
_root_processor(root_processor)
{ }
@@ -3935,11 +3938,11 @@
G1EvacuateRegionsBaseTask::evacuate_live_objects(pss, worker_id, G1GCPhaseTimes::OptObjCopy, G1GCPhaseTimes::OptTermination);
}
public:
G1EvacuateOptionalRegionsTask(G1ParScanThreadStateSet* per_thread_states,
- RefToScanQueueSet* queues,
+ ScannerTasksQueueSet* queues,
uint num_workers) :
G1EvacuateRegionsBaseTask("G1 Evacuate Optional Regions", per_thread_states, queues, num_workers) {
}
};
< prev index next >