Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/oop.inline.hpp @ 454:df4305d4c1a1
6774607: SIGSEGV or (!is_null(v),"oop value can never be zero") assertion when running with CMS and COOPs
Summary: 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
author | ysr |
---|---|
date | Mon, 24 Nov 2008 09:53:31 -0800 |
parents | 1ee8caae33af |
children | 0af8b0718fc9 |
comparison
equal
deleted
inserted
replaced
453:c96030fff130 | 454:df4305d4c1a1 |
---|---|
90 | 90 |
91 inline void oopDesc::set_klass_to_list_ptr(oop k) { | 91 inline void oopDesc::set_klass_to_list_ptr(oop k) { |
92 // This is only to be used during GC, for from-space objects, so no | 92 // This is only to be used during GC, for from-space objects, so no |
93 // barrier is needed. | 93 // barrier is needed. |
94 if (UseCompressedOops) { | 94 if (UseCompressedOops) { |
95 _metadata._compressed_klass = encode_heap_oop_not_null(k); | 95 _metadata._compressed_klass = encode_heap_oop(k); // may be null (parnew overflow handling) |
96 } else { | 96 } else { |
97 _metadata._klass = (klassOop)k; | 97 _metadata._klass = (klassOop)k; |
98 } | 98 } |
99 } | 99 } |
100 | 100 |