Mercurial > hg > truffle
diff src/share/vm/oops/constantPoolOop.hpp @ 518:0af8b0718fc9
6692899: CMS: many vm.parallel_class_loading tests fail with assert "missing Printezis mark"
Summary: The CMS concurrent precleaning and concurrent marking phases should work around classes that are undergoing redefinition.
Reviewed-by: ysr, dcubed
author | jmasa |
---|---|
date | Sun, 11 Jan 2009 16:58:24 -0800 |
parents | a45484ea312d |
children | 0fbdb4381b99 |
line wrap: on
line diff
--- a/src/share/vm/oops/constantPoolOop.hpp Tue Jan 06 07:05:05 2009 -0800 +++ b/src/share/vm/oops/constantPoolOop.hpp Sun Jan 11 16:58:24 2009 -0800 @@ -43,6 +43,8 @@ klassOop _pool_holder; // the corresponding class int _flags; // a few header bits to describe contents for GC int _length; // number of elements in the array + volatile bool _is_conc_safe; // if true, safe for concurrent + // GC processing // only set to non-zero if constant pool is merged by RedefineClasses int _orig_length; @@ -379,6 +381,9 @@ static int object_size(int length) { return align_object_size(header_size() + length); } int object_size() { return object_size(length()); } + bool is_conc_safe() { return _is_conc_safe; } + void set_is_conc_safe(bool v) { _is_conc_safe = v; } + friend class constantPoolKlass; friend class ClassFileParser; friend class SystemDictionary;