< 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 >