< prev index next >

src/share/vm/c1/c1_LIRGenerator.cpp

Print this page
rev 8303 : 8079315: UseCondCardMark broken in conjunction with CMS precleaning
Summary: Insert StoreLoad barriers in CondCardMark sequence
Reviewed-by: kvn

*** 1615,1624 **** --- 1615,1627 ---- } LIR_Opr dirty = LIR_OprFact::intConst(CardTableModRefBS::dirty_card_val()); if (UseCondCardMark) { LIR_Opr cur_value = new_register(T_INT); + if (UseConcMarkSweepGC) { + __ membar_storeload(); + } __ move(card_addr, cur_value); LabelObj* L_already_dirty = new LabelObj(); __ cmp(lir_cond_equal, cur_value, dirty); __ branch(lir_cond_equal, T_BYTE, L_already_dirty->label());
< prev index next >