Print this page
G1: Use SoftMaxHeapSize to guide GC heuristics

*** 779,789 **** void pre_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss); void post_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1RedirtyCardsQueueSet* rdcqs, G1ParScanThreadStateSet* pss); ! void expand_heap_after_young_collection(); // Update object copying statistics. void record_obj_copy_mem_stats(); // The hot card cache for remembered set insertion optimization. G1HotCardCache* _hot_card_cache; --- 779,793 ---- void pre_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss); void post_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1RedirtyCardsQueueSet* rdcqs, G1ParScanThreadStateSet* pss); ! void resize_heap_after_young_collection(); ! bool expand_heap_after_young_collection(); ! void shrink_heap_after_young_collection(); ! void expand_heap_after_concurrent_mark(); ! // Update object copying statistics. void record_obj_copy_mem_stats(); // The hot card cache for remembered set insertion optimization. G1HotCardCache* _hot_card_cache;
*** 1076,1086 **** inline void old_set_add(HeapRegion* hr); inline void old_set_remove(HeapRegion* hr); inline void archive_set_add(HeapRegion* hr); ! size_t non_young_capacity_bytes() { return (old_regions_count() + _archive_set.length() + humongous_regions_count()) * HeapRegion::GrainBytes; } // Determine whether the given region is one that we are using as an // old GC alloc region. --- 1080,1090 ---- inline void old_set_add(HeapRegion* hr); inline void old_set_remove(HeapRegion* hr); inline void archive_set_add(HeapRegion* hr); ! size_t non_young_capacity_bytes() const { return (old_regions_count() + _archive_set.length() + humongous_regions_count()) * HeapRegion::GrainBytes; } // Determine whether the given region is one that we are using as an // old GC alloc region.
*** 1278,1287 **** --- 1282,1294 ---- virtual size_t max_capacity() const; // Return the size of reserved memory. Returns different value than max_capacity() when AllocateOldGenAt is used. virtual size_t max_reserved_capacity() const; + // Print the soft maximum heap capacity. + size_t soft_max_capacity() const; + virtual jlong millis_since_last_gc(); // Convenience function to be used in situations where the heap type can be // asserted to be this type.