< prev index next >
src/hotspot/share/gc/g1/g1CollectedHeap.hpp
Print this page
rev 54086 : imported patch 8219100-cleanup-young-collection-prologue
rev 54087 : imported patch 8218668-reorganize-collection-set
@@ -141,13 +141,12 @@
friend class G1HeapVerifier;
// Closures used in implementation.
friend class G1ParScanThreadState;
friend class G1ParScanThreadStateSet;
- friend class G1ParTask;
+ friend class G1EvacuateRegionsTask;
friend class G1PLABAllocator;
- friend class G1PrepareCompactClosure;
// Other related classes.
friend class HeapRegionClaimer;
// Testing classes.
@@ -517,10 +516,12 @@
public:
G1YoungRemSetSamplingThread* sampling_thread() const { return _young_gen_sampling_thread; }
WorkGang* workers() const { return _workers; }
+ Tickspan run_task(AbstractGangTask* task, uint num_workers = 0);
+
G1Allocator* allocator() {
return _allocator;
}
G1HeapVerifier* verifier() {
@@ -736,14 +737,15 @@
void verify_before_young_collection(G1HeapVerifier::G1VerifyType type);
void verify_after_young_collection(G1HeapVerifier::G1VerifyType type);
void calculate_collection_set(G1EvacuationInfo& evacuation_info, double target_pause_time_ms);
- // Actually do the work of evacuating the collection set.
- void evacuate_collection_set(G1ParScanThreadStateSet* per_thread_states);
+ // Actually do the work of evacuating the parts of the collection set.
+ void evacuate_initial_collection_set(G1ParScanThreadStateSet* per_thread_states);
void evacuate_optional_collection_set(G1ParScanThreadStateSet* per_thread_states);
- void evacuate_optional_regions(G1ParScanThreadStateSet* per_thread_states, G1OptionalCSet* ocset);
+ // Evacuate the next set of optional regions.
+ void evacuate_next_optional_regions(G1ParScanThreadStateSet* per_thread_states);
void pre_evacuate_collection_set(G1EvacuationInfo& evacuation_info);
void post_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss);
void expand_heap_after_young_collection();
@@ -1422,11 +1424,11 @@
double _start_term;
double _term_time;
size_t _term_attempts;
void start_term_time() { _term_attempts++; _start_term = os::elapsedTime(); }
- void end_term_time() { _term_time += os::elapsedTime() - _start_term; }
+ void end_term_time() { _term_time += (os::elapsedTime() - _start_term); }
protected:
G1CollectedHeap* _g1h;
G1ParScanThreadState* _par_scan_state;
RefToScanQueueSet* _queues;
ParallelTaskTerminator* _terminator;
< prev index next >