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

@ -92,7 +92,7 @@ inline void oopDesc::set_klass_to_list_ptr(oop k) {
// This is only to be used during GC, for from-space objects, so no
// barrier is needed.
if (UseCompressedOops) {
_metadata._compressed_klass = encode_heap_oop_not_null(k);
_metadata._compressed_klass = encode_heap_oop(k); // may be null (parnew overflow handling)
} else {
_metadata._klass = (klassOop)k;
}