comparison src/share/vm/gc_implementation/g1/g1_globals.hpp @ 2188:c33825b68624

6923430: G1: assert(res != 0,"This should have worked.") 7007446: G1: expand the heap with a single step, not one region at a time Summary: Changed G1CollectedHeap::expand() to expand the committed space by calling VirtualSpace::expand_by() once rather than for every region in the expansion amount. This allows the success or failure of the expansion to be determined before creating any heap regions. Introduced a develop flag G1ExitOnExpansionFailure (false by default) that, when true, will exit the VM if the expansion of the committed space fails. Finally G1CollectedHeap::expand() returns a status back to it's caller so that the caller knows whether to attempt the allocation. Reviewed-by: brutisso, tonyp
author johnc
date Wed, 02 Feb 2011 10:41:20 -0800
parents 234761c55641
children 02f49b66361a
comparison
equal deleted inserted replaced
2187:986b2844f7a2 2188:c33825b68624
299 "It stresses the concurrent region freeing operation") \ 299 "It stresses the concurrent region freeing operation") \
300 \ 300 \
301 develop(uintx, G1StressConcRegionFreeingDelayMillis, 0, \ 301 develop(uintx, G1StressConcRegionFreeingDelayMillis, 0, \
302 "Artificial delay during concurrent region freeing") \ 302 "Artificial delay during concurrent region freeing") \
303 \ 303 \
304 develop(bool, ReduceInitialCardMarksForG1, false, \ 304 develop(bool, ReduceInitialCardMarksForG1, false, \
305 "When ReduceInitialCardMarks is true, this flag setting " \ 305 "When ReduceInitialCardMarks is true, this flag setting " \
306 " controls whether G1 allows the RICM optimization") 306 " controls whether G1 allows the RICM optimization") \
307 \
308 develop(bool, G1ExitOnExpansionFailure, false, \
309 "Raise a fatal VM exit out of memory failure in the event " \
310 " that heap expansion fails due to running out of swap.")
307 311
308 G1_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG) 312 G1_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG)
309 313
310 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1_GLOBALS_HPP 314 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1_GLOBALS_HPP