< prev index next >
src/hotspot/share/gc/g1/g1CollectedHeap.cpp
Print this page
rev 52909 : imported patch delay_g1
*** 1527,1540 ****
_ref_processor_cm(NULL),
_is_alive_closure_cm(this),
_is_subject_to_discovery_cm(this),
_in_cset_fast_test() {
- _workers = new WorkGang("GC Thread", ParallelGCThreads,
- true /* are_GC_task_threads */,
- false /* are_ConcurrentGC_threads */);
- _workers->initialize_workers();
_verifier = new G1HeapVerifier(this);
_allocator = new G1Allocator(this);
_heap_sizing_policy = G1HeapSizingPolicy::create(this, _g1_policy->analytics());
--- 1527,1536 ----
*** 1763,1772 ****
--- 1759,1776 ----
_in_cset_fast_test.initialize(start, end, granularity);
_humongous_reclaim_candidates.initialize(start, end, granularity);
}
+ _workers = new WorkGang("GC Thread", ParallelGCThreads,
+ true /* are_GC_task_threads */,
+ false /* are_ConcurrentGC_threads */);
+ if (_workers == NULL) {
+ return JNI_ENOMEM;
+ }
+ _workers->initialize_workers();
+
// Create the G1ConcurrentMark data structure and thread.
// (Must do this late, so that "max_regions" is defined.)
_cm = new G1ConcurrentMark(this, prev_bitmap_storage, next_bitmap_storage);
if (_cm == NULL || !_cm->completed_initialization()) {
vm_shutdown_during_initialization("Could not create/initialize G1ConcurrentMark");
< prev index next >