This commit is contained in:
Antonios Printezis 2011-12-05 12:26:40 -05:00
commit a551d5bf05

View File

@ -84,8 +84,11 @@ template <class T> inline void G1ParScanClosure::do_oop_nv(T* p) {
// slightly paranoid test; I'm trying to catch potential // slightly paranoid test; I'm trying to catch potential
// problems before we go into push_on_queue to know where the // problems before we go into push_on_queue to know where the
// problem is coming from // problem is coming from
assert(obj == oopDesc::load_decode_heap_oop(p), assert((obj == oopDesc::load_decode_heap_oop(p)) ||
"p should still be pointing to obj"); (obj->is_forwarded() &&
obj->forwardee() == oopDesc::load_decode_heap_oop(p)),
"p should still be pointing to obj or to its forwardee");
_par_scan_state->push_on_queue(p); _par_scan_state->push_on_queue(p);
} else { } else {
_par_scan_state->update_rs(_from, p, _par_scan_state->queue_num()); _par_scan_state->update_rs(_from, p, _par_scan_state->queue_num());