< prev index next >

src/share/vm/gc/g1/g1CollectorPolicy.cpp

Print this page
rev 9402 : dihop-changes
rev 9404 : imported patch erik-jmasa-review
rev 9405 : imported patch 8136678-implement-adaptive-sizing-algorithm-for-IHOP
rev 9407 : [mq]: erik-jon-review

*** 1251,1274 **** _collectionSetChooser->verify(); } G1IHOPControl* G1CollectorPolicy::create_ihop_control() const { if (G1UseAdaptiveIHOP) { - // The target occupancy is the total heap occupancy we want to hit. First, we - // want to avoid eating into the reserve intended for young GC (to avoid unnecessary - // throughput loss). Additionally G1 is free to not clean out up to - // G1HeapWastePercent of heap, that space also cannot be used for allocation - // while marking. - size_t safe_heap_percentage = (size_t) (G1ReservePercent + G1HeapWastePercent); - size_t target_occupancy = 0; - - if (safe_heap_percentage < 100) { - target_occupancy = G1CollectedHeap::heap()->max_capacity() * (100.0 - safe_heap_percentage) / 100.0; - } return new G1AdaptiveIHOPControl(InitiatingHeapOccupancyPercent, ! target_occupancy, ! &_predictor); } else { return new G1StaticIHOPControl(InitiatingHeapOccupancyPercent, G1CollectedHeap::heap()->max_capacity()); } } --- 1251,1265 ---- _collectionSetChooser->verify(); } G1IHOPControl* G1CollectorPolicy::create_ihop_control() const { if (G1UseAdaptiveIHOP) { return new G1AdaptiveIHOPControl(InitiatingHeapOccupancyPercent, ! G1CollectedHeap::heap()->max_capacity(), ! &_predictor, ! G1ReservePercent, ! G1HeapWastePercent); } else { return new G1StaticIHOPControl(InitiatingHeapOccupancyPercent, G1CollectedHeap::heap()->max_capacity()); } }
< prev index next >