< prev index next >
src/share/vm/gc/g1/g1ParScanThreadState.cpp
Print this page
rev 8789 : [mq]: 8073052-Rename-and-clean-up-the-allocation-manager-hierarchy-in-g1Allocator
rev 8790 : imported patch 8003237-no-wait-for-free-list
rev 8791 : imported patch jon-fast-evac-failure
@@ -40,11 +40,11 @@
_hash_seed(17), _queue_num(queue_num),
_term_attempts(0),
_tenuring_threshold(g1h->g1_policy()->tenuring_threshold()),
_age_table(false), _scanner(g1h, rp),
_strong_roots_time(0), _term_time(0),
- _no_more_space_in_old(false)
+ _last_gen_is_full(false)
{
_scanner.set_par_scan_thread_state(this);
// we allocate G1YoungSurvRateNumRegions plus one entries, since
// we "sacrifice" entry 0 to keep track of surviving bytes for
// non-young regions (where the age is -1)
@@ -187,15 +187,15 @@
if (obj_ptr != NULL) {
dest->set_old();
} else {
// We just failed to allocate in old gen. The same idea as explained above
// for making survivor gen unavailable for allocation applies for old gen.
- _no_more_space_in_old = plab_refill_in_old_failed;
+ _last_gen_is_full = plab_refill_in_old_failed;
}
return obj_ptr;
} else {
- _no_more_space_in_old = previous_plab_refill_failed;
+ _last_gen_is_full = previous_plab_refill_failed;
assert(dest->is_old(), err_msg("Unexpected dest: " CSETSTATE_FORMAT, dest->value()));
// no other space to try.
return NULL;
}
}
@@ -224,11 +224,11 @@
uint age = 0;
InCSetState dest_state = next_state(state, old_mark, age);
// The second clause is to prevent premature evacuation failure in case there
// is still space in survivor, but old gen is full.
- if (_no_more_space_in_old && dest_state.is_old()) {
+ if (_last_gen_is_full && dest_state.is_old()) {
return handle_evacuation_failure_par(old, old_mark);
}
HeapWord* obj_ptr = _plab_allocator->plab_allocate(dest_state, word_sz, context);
// PLAB allocations should succeed most of the time, so we'll
< prev index next >