< prev index next >
src/hotspot/share/gc/g1/g1CollectedHeap.hpp
Print this page
rev 59232 : [mq]: scan_task
*** 52,61 ****
--- 52,62 ----
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/gcHeapSummary.hpp"
#include "gc/shared/plab.hpp"
#include "gc/shared/preservedMarks.hpp"
#include "gc/shared/softRefPolicy.hpp"
+ #include "gc/shared/taskqueue.hpp"
#include "memory/memRegion.hpp"
#include "utilities/stack.hpp"
// A "G1CollectedHeap" is an implementation of a java heap for HotSpot.
// It uses the "Garbage First" heap organization and algorithm, which
*** 95,106 ****
class G1HeapVerifier;
class G1HeapSizingPolicy;
class G1HeapSummary;
class G1EvacSummary;
! typedef OverflowTaskQueue<StarTask, mtGC> RefToScanQueue;
! typedef GenericTaskQueueSet<RefToScanQueue, mtGC> RefToScanQueueSet;
typedef int RegionIdx_t; // needs to hold [ 0..max_regions() )
typedef int CardIdx_t; // needs to hold [ 0..CardsPerRegion )
// The G1 STW is alive closure.
--- 96,107 ----
class G1HeapVerifier;
class G1HeapSizingPolicy;
class G1HeapSummary;
class G1EvacSummary;
! typedef OverflowTaskQueue<ScannerTask, mtGC> ScannerTasksQueue;
! typedef GenericTaskQueueSet<ScannerTasksQueue, mtGC> ScannerTasksQueueSet;
typedef int RegionIdx_t; // needs to hold [ 0..max_regions() )
typedef int CardIdx_t; // needs to hold [ 0..CardsPerRegion )
// The G1 STW is alive closure.
*** 812,822 ****
// The concurrent refiner.
G1ConcurrentRefine* _cr;
// The parallel task queues
! RefToScanQueueSet *_task_queues;
// True iff a evacuation has failed in the current collection.
bool _evacuation_failed;
EvacuationFailedInfo* _evacuation_failed_info_array;
--- 813,823 ----
// The concurrent refiner.
G1ConcurrentRefine* _cr;
// The parallel task queues
! ScannerTasksQueueSet *_task_queues;
// True iff a evacuation has failed in the current collection.
bool _evacuation_failed;
EvacuationFailedInfo* _evacuation_failed_info_array;
*** 949,959 ****
G1CMIsAliveClosure _is_alive_closure_cm;
G1CMSubjectToDiscoveryClosure _is_subject_to_discovery_cm;
public:
! RefToScanQueue *task_queue(uint i) const;
uint num_task_queues() const;
// Create a G1CollectedHeap.
// Must call the initialize method afterwards.
--- 950,960 ----
G1CMIsAliveClosure _is_alive_closure_cm;
G1CMSubjectToDiscoveryClosure _is_subject_to_discovery_cm;
public:
! ScannerTasksQueue* task_queue(uint i) const;
uint num_task_queues() const;
// Create a G1CollectedHeap.
// Must call the initialize method afterwards.
*** 1476,1497 ****
void start_term_time() { _term_attempts++; _start_term = os::elapsedTime(); }
void end_term_time() { _term_time += (os::elapsedTime() - _start_term); }
protected:
G1CollectedHeap* _g1h;
G1ParScanThreadState* _par_scan_state;
! RefToScanQueueSet* _queues;
TaskTerminator* _terminator;
G1GCPhaseTimes::GCParPhases _phase;
G1ParScanThreadState* par_scan_state() { return _par_scan_state; }
! RefToScanQueueSet* queues() { return _queues; }
TaskTerminator* terminator() { return _terminator; }
public:
G1ParEvacuateFollowersClosure(G1CollectedHeap* g1h,
G1ParScanThreadState* par_scan_state,
! RefToScanQueueSet* queues,
TaskTerminator* terminator,
G1GCPhaseTimes::GCParPhases phase)
: _start_term(0.0), _term_time(0.0), _term_attempts(0),
_g1h(g1h), _par_scan_state(par_scan_state),
_queues(queues), _terminator(terminator), _phase(phase) {}
--- 1477,1498 ----
void start_term_time() { _term_attempts++; _start_term = os::elapsedTime(); }
void end_term_time() { _term_time += (os::elapsedTime() - _start_term); }
protected:
G1CollectedHeap* _g1h;
G1ParScanThreadState* _par_scan_state;
! ScannerTasksQueueSet* _queues;
TaskTerminator* _terminator;
G1GCPhaseTimes::GCParPhases _phase;
G1ParScanThreadState* par_scan_state() { return _par_scan_state; }
! ScannerTasksQueueSet* queues() { return _queues; }
TaskTerminator* terminator() { return _terminator; }
public:
G1ParEvacuateFollowersClosure(G1CollectedHeap* g1h,
G1ParScanThreadState* par_scan_state,
! ScannerTasksQueueSet* queues,
TaskTerminator* terminator,
G1GCPhaseTimes::GCParPhases phase)
: _start_term(0.0), _term_time(0.0), _term_attempts(0),
_g1h(g1h), _par_scan_state(par_scan_state),
_queues(queues), _terminator(terminator), _phase(phase) {}
< prev index next >