# HG changeset patch # User ehelin # Date 1449046964 -3600 # Node ID 12a738c34eb994f1e513329b4509d5ac193c4899 # Parent 7676bec2099715fe08bce6e0b19448424520e546 8144315: update_rs is passed wrong object Reviewed-by: jmasa, kbarrett diff -r 7676bec20997 -r 12a738c34eb9 hotspot/src/share/vm/gc/g1/g1ParScanThreadState.inline.hpp --- a/hotspot/src/share/vm/gc/g1/g1ParScanThreadState.inline.hpp Tue Dec 01 21:30:34 2015 -0500 +++ b/hotspot/src/share/vm/gc/g1/g1ParScanThreadState.inline.hpp Wed Dec 02 10:02:44 2015 +0100 @@ -40,14 +40,13 @@ // processed multiple times. So redo this check. const InCSetState in_cset_state = _g1h->in_cset_state(obj); if (in_cset_state.is_in_cset()) { - oop forwardee; markOop m = obj->mark(); if (m->is_marked()) { - forwardee = (oop) m->decode_pointer(); + obj = (oop) m->decode_pointer(); } else { - forwardee = copy_to_survivor_space(in_cset_state, obj, m); + obj = copy_to_survivor_space(in_cset_state, obj, m); } - oopDesc::encode_store_heap_oop(p, forwardee); + oopDesc::encode_store_heap_oop(p, obj); } else if (in_cset_state.is_humongous()) { _g1h->set_humongous_is_live(obj); } else {