src/hotspot/share/gc/g1/g1CollectedHeap.cpp
changeset 52955 f0f3dc30e3bb
parent 52918 f94c7929a44b
child 53034 de99beff5c0e
child 53116 bb03098c4dde
equal deleted inserted replaced
52954:799e964e32b6 52955:f0f3dc30e3bb
  1529   _ref_processor_cm(NULL),
  1529   _ref_processor_cm(NULL),
  1530   _is_alive_closure_cm(this),
  1530   _is_alive_closure_cm(this),
  1531   _is_subject_to_discovery_cm(this),
  1531   _is_subject_to_discovery_cm(this),
  1532   _in_cset_fast_test() {
  1532   _in_cset_fast_test() {
  1533 
  1533 
  1534   _workers = new WorkGang("GC Thread", ParallelGCThreads,
       
  1535                           true /* are_GC_task_threads */,
       
  1536                           false /* are_ConcurrentGC_threads */);
       
  1537   _workers->initialize_workers();
       
  1538   _verifier = new G1HeapVerifier(this);
  1534   _verifier = new G1HeapVerifier(this);
  1539 
  1535 
  1540   _allocator = new G1Allocator(this);
  1536   _allocator = new G1Allocator(this);
  1541 
  1537 
  1542   _heap_sizing_policy = G1HeapSizingPolicy::create(this, _g1_policy->analytics());
  1538   _heap_sizing_policy = G1HeapSizingPolicy::create(this, _g1_policy->analytics());
  1764     size_t granularity = HeapRegion::GrainBytes;
  1760     size_t granularity = HeapRegion::GrainBytes;
  1765 
  1761 
  1766     _in_cset_fast_test.initialize(start, end, granularity);
  1762     _in_cset_fast_test.initialize(start, end, granularity);
  1767     _humongous_reclaim_candidates.initialize(start, end, granularity);
  1763     _humongous_reclaim_candidates.initialize(start, end, granularity);
  1768   }
  1764   }
       
  1765 
       
  1766   _workers = new WorkGang("GC Thread", ParallelGCThreads,
       
  1767                           true /* are_GC_task_threads */,
       
  1768                           false /* are_ConcurrentGC_threads */);
       
  1769   if (_workers == NULL) {
       
  1770     return JNI_ENOMEM;
       
  1771   }
       
  1772   _workers->initialize_workers();
  1769 
  1773 
  1770   // Create the G1ConcurrentMark data structure and thread.
  1774   // Create the G1ConcurrentMark data structure and thread.
  1771   // (Must do this late, so that "max_regions" is defined.)
  1775   // (Must do this late, so that "max_regions" is defined.)
  1772   _cm = new G1ConcurrentMark(this, prev_bitmap_storage, next_bitmap_storage);
  1776   _cm = new G1ConcurrentMark(this, prev_bitmap_storage, next_bitmap_storage);
  1773   if (_cm == NULL || !_cm->completed_initialization()) {
  1777   if (_cm == NULL || !_cm->completed_initialization()) {