< prev index next >
src/hotspot/share/gc/g1/g1ParScanThreadState.cpp
Print this page
@@ -309,12 +309,11 @@
// length field of the from-space object.
arrayOop(obj)->set_length(0);
oop* old_p = set_partial_array_mask(old);
do_oop_partial_array(old_p);
} else {
- HeapRegion* const to_region = _g1h->heap_region_containing(obj_ptr);
- _scanner.set_region(to_region);
+ _scanner.set_scanning_in_young(dest_state.is_young());
obj->oop_iterate_backwards(&_scanner);
}
return obj;
} else {
_plab_allocator->undo_allocation(dest_state, obj_ptr, word_sz);
@@ -365,11 +364,11 @@
_g1h->hr_printer()->evac_failure(r);
}
_g1h->preserve_mark_during_evac_failure(_worker_id, old, m);
- _scanner.set_region(r);
+ _scanner.set_scanning_in_young(r->is_young());
old->oop_iterate_backwards(&_scanner);
return old;
} else {
// Forward-to-self failed. Either someone else managed to allocate
< prev index next >