8025564: gc/memory/UniThread/Linear1 times out during heap verification

Reviewed-by: stefank, tschatzl
This commit is contained in:
Bengt Rutisson 2014-09-08 10:41:06 +02:00
parent 98f413fa1f
commit ff1498ba6b
3 changed files with 42 additions and 41 deletions

View file

@ -861,7 +861,6 @@ void HeapRegion::verify(VerifyOption vo,
HeapWord* prev_p = NULL;
VerifyLiveClosure vl_cl(g1, vo);
bool is_humongous = isHumongous();
bool do_bot_verify = !is_young();
size_t object_num = 0;
while (p < top()) {
oop obj = oop(p);
@ -878,15 +877,6 @@ void HeapRegion::verify(VerifyOption vo,
return;
}
// If it returns false, verify_for_object() will output the
// appropriate message.
if (do_bot_verify &&
!g1->is_obj_dead(obj, this) &&
!_offsets.verify_for_object(p, obj_size)) {
*failures = true;
return;
}
if (!g1->is_obj_dead_cond(obj, this, vo)) {
if (obj->is_oop()) {
Klass* klass = obj->klass();
@ -924,6 +914,10 @@ void HeapRegion::verify(VerifyOption vo,
p += obj_size;
}
if (!is_young() && !is_empty()) {
_offsets.verify();
}
if (p != top()) {
gclog_or_tty->print_cr("end of last object "PTR_FORMAT" "
"does not match top "PTR_FORMAT, p, top());