< prev index next >
src/share/vm/gc/g1/g1ParScanThreadState.inline.hpp
Print this page
rev 13170 : [mq]: 8183397-consistent-closure-filtering
@@ -45,19 +45,23 @@
obj = (oop) m->decode_pointer();
} else {
obj = copy_to_survivor_space(in_cset_state, obj, m);
}
oopDesc::encode_store_heap_oop(p, obj);
- } else if (in_cset_state.is_humongous()) {
+ } else {
+ if (in_cset_state.is_humongous()) {
_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());
}
+ }
assert(obj != NULL, "Must be");
+ if (!HeapRegion::is_in_same_region(p, obj)) {
update_rs(from, p, obj);
+ }
}
template <class T> inline void G1ParScanThreadState::push_on_queue(T* ref) {
assert(verify_ref(ref), "sanity");
_refs->push(ref);
< prev index next >