< prev index next >

src/hotspot/share/gc/g1/g1CollectedHeap.cpp

Print this page
rev 58025 : imported patch 8238854-remove-superfluous-alloc-checks


1782     HeapWord* end = _hrm->reserved().end();
1783     size_t granularity = HeapRegion::GrainBytes;
1784 
1785     _region_attr.initialize(start, end, granularity);
1786     _humongous_reclaim_candidates.initialize(start, end, granularity);
1787   }
1788 
1789   _workers = new WorkGang("GC Thread", ParallelGCThreads,
1790                           true /* are_GC_task_threads */,
1791                           false /* are_ConcurrentGC_threads */);
1792   if (_workers == NULL) {
1793     return JNI_ENOMEM;
1794   }
1795   _workers->initialize_workers();
1796 
1797   _numa->set_region_info(HeapRegion::GrainBytes, page_size);
1798 
1799   // Create the G1ConcurrentMark data structure and thread.
1800   // (Must do this late, so that "max_regions" is defined.)
1801   _cm = new G1ConcurrentMark(this, prev_bitmap_storage, next_bitmap_storage);
1802   if (_cm == NULL || !_cm->completed_initialization()) {
1803     vm_shutdown_during_initialization("Could not create/initialize G1ConcurrentMark");
1804     return JNI_ENOMEM;
1805   }
1806   _cm_thread = _cm->cm_thread();
1807 
1808   // Now expand into the initial heap size.
1809   if (!expand(init_byte_size, _workers)) {
1810     vm_shutdown_during_initialization("Failed to allocate initial heap.");
1811     return JNI_ENOMEM;
1812   }
1813 
1814   // Perform any initialization actions delegated to the policy.
1815   policy()->init(this, &_collection_set);
1816 
1817   jint ecode = initialize_concurrent_refinement();
1818   if (ecode != JNI_OK) {
1819     return ecode;
1820   }
1821 
1822   ecode = initialize_young_gen_sampling_thread();
1823   if (ecode != JNI_OK) {




1782     HeapWord* end = _hrm->reserved().end();
1783     size_t granularity = HeapRegion::GrainBytes;
1784 
1785     _region_attr.initialize(start, end, granularity);
1786     _humongous_reclaim_candidates.initialize(start, end, granularity);
1787   }
1788 
1789   _workers = new WorkGang("GC Thread", ParallelGCThreads,
1790                           true /* are_GC_task_threads */,
1791                           false /* are_ConcurrentGC_threads */);
1792   if (_workers == NULL) {
1793     return JNI_ENOMEM;
1794   }
1795   _workers->initialize_workers();
1796 
1797   _numa->set_region_info(HeapRegion::GrainBytes, page_size);
1798 
1799   // Create the G1ConcurrentMark data structure and thread.
1800   // (Must do this late, so that "max_regions" is defined.)
1801   _cm = new G1ConcurrentMark(this, prev_bitmap_storage, next_bitmap_storage);
1802   if (!_cm->completed_initialization()) {
1803     vm_shutdown_during_initialization("Could not initialize G1ConcurrentMark");
1804     return JNI_ENOMEM;
1805   }
1806   _cm_thread = _cm->cm_thread();
1807 
1808   // Now expand into the initial heap size.
1809   if (!expand(init_byte_size, _workers)) {
1810     vm_shutdown_during_initialization("Failed to allocate initial heap.");
1811     return JNI_ENOMEM;
1812   }
1813 
1814   // Perform any initialization actions delegated to the policy.
1815   policy()->init(this, &_collection_set);
1816 
1817   jint ecode = initialize_concurrent_refinement();
1818   if (ecode != JNI_OK) {
1819     return ecode;
1820   }
1821 
1822   ecode = initialize_young_gen_sampling_thread();
1823   if (ecode != JNI_OK) {


< prev index next >