< prev index next >

src/hotspot/share/gc/shared/cardTableBarrierSet.inline.hpp

8202083_CMS_cleanup_runtime

*** 30,40 **** #include "runtime/orderAccess.inline.hpp" template <DecoratorSet decorators, typename T> inline void CardTableBarrierSet::write_ref_field_post(T* field, oop newVal) { volatile jbyte* byte = _card_table->byte_for(field); ! if (UseConcMarkSweepGC) { // Perform a releasing store if using CMS so that it may // scan and clear the cards concurrently during pre-cleaning. OrderAccess::release_store(byte, CardTable::dirty_card_val()); } else { *byte = CardTable::dirty_card_val(); --- 30,40 ---- #include "runtime/orderAccess.inline.hpp" template <DecoratorSet decorators, typename T> inline void CardTableBarrierSet::write_ref_field_post(T* field, oop newVal) { volatile jbyte* byte = _card_table->byte_for(field); ! if (_card_table->scanned_concurrently()) { // Perform a releasing store if using CMS so that it may // scan and clear the cards concurrently during pre-cleaning. OrderAccess::release_store(byte, CardTable::dirty_card_val()); } else { *byte = CardTable::dirty_card_val();
< prev index next >