Mercurial > hg > graal-jvmci-8
comparison src/share/vm/memory/oopFactory.cpp @ 2226:c5a923563727
6912621: iCMS: Error: assert(_markBitMap.isMarked(addr + 1),"Missing Printezis bit?")
Summary: Fix block_size_if_printezis_bits() so it does not expect the bits, only uses them when available. Fix block_size_no_stall() so it does not stall when the bits are missing such cases, letting the caller deal with zero size returns. Constant pool cache oops do not need to be unparsable or conc_unsafe after their klass pointer is installed. Some cosmetic clean-ups and some assertion checking for conc-usafety which, in the presence of class file redefinition, has no a-priori time boundedness, so all GCs must be able to safely deal with putatively conc-unsafe objects in a stop-world pause.
Reviewed-by: jmasa, johnc
author | ysr |
---|---|
date | Mon, 07 Feb 2011 22:19:57 -0800 |
parents | f95d63e2154a |
children | 55cc33cf55bc |
comparison
equal
deleted
inserted
replaced
2225:c798c277ddd1 | 2226:c5a923563727 |
---|---|
109 return ck->allocate(length, is_conc_safe, CHECK_NULL); | 109 return ck->allocate(length, is_conc_safe, CHECK_NULL); |
110 } | 110 } |
111 | 111 |
112 | 112 |
113 constantPoolCacheOop oopFactory::new_constantPoolCache(int length, | 113 constantPoolCacheOop oopFactory::new_constantPoolCache(int length, |
114 bool is_conc_safe, | |
115 TRAPS) { | 114 TRAPS) { |
116 constantPoolCacheKlass* ck = constantPoolCacheKlass::cast(Universe::constantPoolCacheKlassObj()); | 115 constantPoolCacheKlass* ck = constantPoolCacheKlass::cast(Universe::constantPoolCacheKlassObj()); |
117 return ck->allocate(length, is_conc_safe, CHECK_NULL); | 116 return ck->allocate(length, CHECK_NULL); |
118 } | 117 } |
119 | 118 |
120 | 119 |
121 klassOop oopFactory::new_instanceKlass(int vtable_len, int itable_len, | 120 klassOop oopFactory::new_instanceKlass(int vtable_len, int itable_len, |
122 int static_field_size, | 121 int static_field_size, |