diff -r 1a4335135ffd -r 5165b3a5b44a hotspot/src/share/vm/gc/g1/g1ParScanThreadState.inline.hpp --- a/hotspot/src/share/vm/gc/g1/g1ParScanThreadState.inline.hpp Fri Jul 07 23:53:36 2017 +0200 +++ b/hotspot/src/share/vm/gc/g1/g1ParScanThreadState.inline.hpp Mon Jul 10 10:10:49 2017 +0200 @@ -51,11 +51,13 @@ _g1h->set_humongous_is_live(obj); } else { assert(in_cset_state.is_default() || in_cset_state.is_ext(), - "In_cset_state must be NotInCSet or Ext here, but is " CSETSTATE_FORMAT, in_cset_state.value()); + "In_cset_state must be NotInCSet or Ext here, but is " CSETSTATE_FORMAT, in_cset_state.value()); } assert(obj != NULL, "Must be"); - update_rs(from, p, obj); + if (!HeapRegion::is_in_same_region(p, obj)) { + update_rs(from, p, obj); + } } template inline void G1ParScanThreadState::push_on_queue(T* ref) {