equal
deleted
inserted
replaced
228 assert(_worker_id == _par_scan_state->worker_id(), "sanity"); |
228 assert(_worker_id == _par_scan_state->worker_id(), "sanity"); |
229 |
229 |
230 const G1HeapRegionAttr state = _g1h->region_attr(obj); |
230 const G1HeapRegionAttr state = _g1h->region_attr(obj); |
231 if (state.is_in_cset()) { |
231 if (state.is_in_cset()) { |
232 oop forwardee; |
232 oop forwardee; |
233 markOop m = obj->mark_raw(); |
233 markWord m = obj->mark_raw(); |
234 if (m->is_marked()) { |
234 if (m.is_marked()) { |
235 forwardee = (oop) m->decode_pointer(); |
235 forwardee = (oop) m.decode_pointer(); |
236 } else { |
236 } else { |
237 forwardee = _par_scan_state->copy_to_survivor_space(state, obj, m); |
237 forwardee = _par_scan_state->copy_to_survivor_space(state, obj, m); |
238 } |
238 } |
239 assert(forwardee != NULL, "forwardee should not be NULL"); |
239 assert(forwardee != NULL, "forwardee should not be NULL"); |
240 RawAccess<IS_NOT_NULL>::oop_store(p, forwardee); |
240 RawAccess<IS_NOT_NULL>::oop_store(p, forwardee); |