--- 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 <class T> inline void G1ParScanThreadState::push_on_queue(T* ref) {