1.1 --- a/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp Thu Mar 03 21:02:56 2011 -0800 1.2 +++ b/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp Fri Mar 04 17:13:19 2011 -0500 1.3 @@ -185,22 +185,22 @@ 1.4 G1CollectedHeap* _g1h; 1.5 ModRefBarrierSet* _mrbs; 1.6 CompactPoint _cp; 1.7 - size_t _pre_used; 1.8 - FreeRegionList _free_list; 1.9 HumongousRegionSet _humongous_proxy_set; 1.10 1.11 void free_humongous_region(HeapRegion* hr) { 1.12 HeapWord* end = hr->end(); 1.13 + size_t dummy_pre_used; 1.14 + FreeRegionList dummy_free_list("Dummy Free List for G1MarkSweep"); 1.15 + 1.16 assert(hr->startsHumongous(), 1.17 "Only the start of a humongous region should be freed."); 1.18 - _g1h->free_humongous_region(hr, &_pre_used, &_free_list, 1.19 + _g1h->free_humongous_region(hr, &dummy_pre_used, &dummy_free_list, 1.20 &_humongous_proxy_set, false /* par */); 1.21 - // Do we also need to do this for the continues humongous regions 1.22 - // we just collapsed? 1.23 hr->prepare_for_compaction(&_cp); 1.24 // Also clear the part of the card table that will be unused after 1.25 // compaction. 1.26 _mrbs->clear(MemRegion(hr->compaction_top(), end)); 1.27 + dummy_free_list.remove_all(); 1.28 } 1.29 1.30 public: 1.31 @@ -208,8 +208,6 @@ 1.32 : _g1h(G1CollectedHeap::heap()), 1.33 _mrbs(G1CollectedHeap::heap()->mr_bs()), 1.34 _cp(NULL, cs, cs->initialize_threshold()), 1.35 - _pre_used(0), 1.36 - _free_list("Local Free List for G1MarkSweep"), 1.37 _humongous_proxy_set("G1MarkSweep Humongous Proxy Set") { } 1.38 1.39 void update_sets() { 1.40 @@ -219,7 +217,6 @@ 1.41 NULL, /* free_list */ 1.42 &_humongous_proxy_set, 1.43 false /* par */); 1.44 - _free_list.remove_all(); 1.45 } 1.46 1.47 bool doHeapRegion(HeapRegion* hr) {