Mercurial > hg > graal-jvmci-8
diff src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 22895:f2e3f0e1f97d
8064473: Improved handling of age during object copy in G1
Reviewed-by: brutisso, tschatzl
author | sfriberg |
---|---|
date | Fri, 14 Nov 2014 15:03:39 +0100 |
parents | 2af69bed8db6 |
children | 80ac3ee51955 |
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Fri Oct 10 12:15:51 2014 +0200 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Fri Nov 14 15:03:39 2014 +0100 @@ -4479,10 +4479,11 @@ if (state == G1CollectedHeap::InCSet) { oop forwardee; - if (obj->is_forwarded()) { - forwardee = obj->forwardee(); + markOop m = obj->mark(); + if (m->is_marked()) { + forwardee = (oop) m->decode_pointer(); } else { - forwardee = _par_scan_state->copy_to_survivor_space(obj); + forwardee = _par_scan_state->copy_to_survivor_space(obj, m); } assert(forwardee != NULL, "forwardee should not be NULL"); oopDesc::encode_store_heap_oop(p, forwardee);