Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 1991:016a3628c885
6994056: G1: when GC locker is active, extend the Eden instead of allocating into the old gen
Summary: Allow the eden to the expanded up to a point when the GC locker is active.
Reviewed-by: jwilhelm, johnc, ysr, jcoomes
author | tonyp |
---|---|
date | Tue, 07 Dec 2010 16:47:42 -0500 |
parents | 631f79e71e90 |
children | fb712ff22571 |
comparison
equal
deleted
inserted
replaced
1975:d9310331a29c | 1991:016a3628c885 |
---|---|
494 // fails, it retires the current alloc region (if there is one), | 494 // fails, it retires the current alloc region (if there is one), |
495 // tries to get a new one and retries the allocation. | 495 // tries to get a new one and retries the allocation. |
496 inline HeapWord* attempt_allocation(size_t word_size); | 496 inline HeapWord* attempt_allocation(size_t word_size); |
497 | 497 |
498 // It assumes that the current alloc region has been retired and | 498 // It assumes that the current alloc region has been retired and |
499 // tries to allocate a new one. If it's successful, it performs | 499 // tries to allocate a new one. If it's successful, it performs the |
500 // the allocation out of the new current alloc region and updates | 500 // allocation out of the new current alloc region and updates |
501 // _cur_alloc_region. | 501 // _cur_alloc_region. Normally, it would try to allocate a new |
502 // region if the young gen is not full, unless can_expand is true in | |
503 // which case it would always try to allocate a new region. | |
502 HeapWord* replace_cur_alloc_region_and_allocate(size_t word_size, | 504 HeapWord* replace_cur_alloc_region_and_allocate(size_t word_size, |
503 bool at_safepoint, | 505 bool at_safepoint, |
504 bool do_dirtying); | 506 bool do_dirtying, |
507 bool can_expand); | |
505 | 508 |
506 // The slow path when we are unable to allocate a new current alloc | 509 // The slow path when we are unable to allocate a new current alloc |
507 // region to satisfy an allocation request (i.e., when | 510 // region to satisfy an allocation request (i.e., when |
508 // attempt_allocation() fails). It will try to do an evacuation | 511 // attempt_allocation() fails). It will try to do an evacuation |
509 // pause, which might stall due to the GC locker, and retry the | 512 // pause, which might stall due to the GC locker, and retry the |