< prev index next >

src/share/vm/gc/parallel/psScavenge.inline.hpp

Print this page

        

*** 100,115 **** assert(!psh->is_in_reserved(p), "GC barrier needed"); if (PSScavenge::should_scavenge(p)) { assert(PSScavenge::should_scavenge(p, true), "revisiting object?"); oop o = *p; ! oop new_obj; ! if (o->is_forwarded()) { ! new_obj = o->forwardee(); ! } else { ! new_obj = _pm->copy_to_survivor_space</*promote_immediately=*/false>(o); } oopDesc::encode_store_heap_oop_not_null(p, new_obj); if (PSScavenge::is_obj_in_young(new_obj)) { do_klass_barrier(); } --- 100,113 ---- assert(!psh->is_in_reserved(p), "GC barrier needed"); if (PSScavenge::should_scavenge(p)) { assert(PSScavenge::should_scavenge(p, true), "revisiting object?"); oop o = *p; ! if (!o->is_forwarded()) { ! _pm->copy_to_survivor_space</*promote_immediately=*/false>(o); } + oop new_obj = o->forwardee(); oopDesc::encode_store_heap_oop_not_null(p, new_obj); if (PSScavenge::is_obj_in_young(new_obj)) { do_klass_barrier(); }
< prev index next >