1711
1712 // Instead of tearing down / rebuilding the free lists here, we
1713 // could instead use the remove_all_pending() method on free_list to
1714 // remove only the ones that we need to remove.
1715 tear_down_region_sets(true /* free_list_only */);
1716 shrink_helper(shrink_bytes);
1717 rebuild_region_sets(true /* free_list_only */);
1718
1719 _hrm.verify_optional();
1720 verify_region_sets_optional();
1721 }
1722
1723 // Public methods.
1724
1725 #ifdef _MSC_VER // the use of 'this' below gets a warning, make it go away
1726 #pragma warning( disable:4355 ) // 'this' : used in base member initializer list
1727 #endif // _MSC_VER
1728
1729
1730 G1CollectedHeap::G1CollectedHeap(G1CollectorPolicy* policy_) :
1731 SharedHeap(),
1732 _g1_policy(policy_),
1733 _dirty_card_queue_set(false),
1734 _into_cset_dirty_card_queue_set(false),
1735 _is_alive_closure_cm(this),
1736 _is_alive_closure_stw(this),
1737 _ref_processor_cm(NULL),
1738 _ref_processor_stw(NULL),
1739 _bot_shared(NULL),
1740 _evac_failure_scan_stack(NULL),
1741 _mark_in_progress(false),
1742 _cg1r(NULL),
1743 _g1mm(NULL),
1744 _refine_cte_cl(NULL),
1745 _full_collection(false),
1746 _secondary_free_list("Secondary Free List", new SecondaryFreeRegionListMtSafeChecker()),
1747 _old_set("Old Set", false /* humongous */, new OldRegionSetMtSafeChecker()),
1748 _humongous_set("Master Humongous Set", true /* humongous */, new HumongousRegionSetMtSafeChecker()),
1749 _humongous_is_live(),
1750 _has_humongous_reclaim_candidates(false),
1751 _free_regions_coming(false),
|
1711
1712 // Instead of tearing down / rebuilding the free lists here, we
1713 // could instead use the remove_all_pending() method on free_list to
1714 // remove only the ones that we need to remove.
1715 tear_down_region_sets(true /* free_list_only */);
1716 shrink_helper(shrink_bytes);
1717 rebuild_region_sets(true /* free_list_only */);
1718
1719 _hrm.verify_optional();
1720 verify_region_sets_optional();
1721 }
1722
1723 // Public methods.
1724
1725 #ifdef _MSC_VER // the use of 'this' below gets a warning, make it go away
1726 #pragma warning( disable:4355 ) // 'this' : used in base member initializer list
1727 #endif // _MSC_VER
1728
1729
1730 G1CollectedHeap::G1CollectedHeap(G1CollectorPolicy* policy_) :
1731 CollectedHeap(),
1732 _g1_policy(policy_),
1733 _dirty_card_queue_set(false),
1734 _into_cset_dirty_card_queue_set(false),
1735 _is_alive_closure_cm(this),
1736 _is_alive_closure_stw(this),
1737 _ref_processor_cm(NULL),
1738 _ref_processor_stw(NULL),
1739 _bot_shared(NULL),
1740 _evac_failure_scan_stack(NULL),
1741 _mark_in_progress(false),
1742 _cg1r(NULL),
1743 _g1mm(NULL),
1744 _refine_cte_cl(NULL),
1745 _full_collection(false),
1746 _secondary_free_list("Secondary Free List", new SecondaryFreeRegionListMtSafeChecker()),
1747 _old_set("Old Set", false /* humongous */, new OldRegionSetMtSafeChecker()),
1748 _humongous_set("Master Humongous Set", true /* humongous */, new HumongousRegionSetMtSafeChecker()),
1749 _humongous_is_live(),
1750 _has_humongous_reclaim_candidates(false),
1751 _free_regions_coming(false),
|