6774607: SIGSEGV or (!is_null(v),"oop value can never be zero") assertion when running with CMS and COOPs

Use the more permissive set_klass_or_null() and klass_or_null() interfaces in ParNew's workqueue overflow code that manipulates the klass-word.

Reviewed-by: coleenp
This commit is contained in:
Y. Srinivas Ramakrishna 2008-11-24 09:53:31 -08:00
parent 7d7cf3f8af
commit 6c53645a84
2 changed files with 2 additions and 2 deletions

View file

@ -1205,7 +1205,7 @@ ParNewGeneration::take_from_overflow_list(ParScanThreadState* par_scan_state) {
int n = 0;
while (cur != NULL) {
oop obj_to_push = cur->forwardee();
oop next = oop(cur->klass());
oop next = oop(cur->klass_or_null());
cur->set_klass(obj_to_push->klass());
if (par_scan_state->should_be_partially_scanned(obj_to_push, cur)) {
obj_to_push = cur;