< prev index next >
src/hotspot/share/gc/shared/cardTableBarrierSet.cpp
Print this page
rev 54112 : 8265677: CMS: CardTableBarrierSet::write_ref_array_work() lacks storestore barrier
Reviewed-by: ???
@@ -77,10 +77,15 @@
CardTableBarrierSet::~CardTableBarrierSet() {
delete _card_table;
}
void CardTableBarrierSet::write_ref_array_work(MemRegion mr) {
+ if (_card_table->scanned_concurrently()) {
+ // The array stores must not be reordered with the card marks if the
+ // card table is scanned concurrently.
+ OrderAccess::storestore();
+ }
_card_table->dirty_MemRegion(mr);
}
void CardTableBarrierSet::invalidate(MemRegion mr) {
_card_table->invalidate(mr);
< prev index next >