mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 19:44:41 +02:00
8079315: UseCondCardMark broken in conjunction with CMS precleaning on x86
Add the necessary StoreLoad barrier in interpreter, C1 and C2 for x86 Reviewed-by: tschatzl
This commit is contained in:
parent
6cb9f920e1
commit
b387838cea
3 changed files with 11 additions and 0 deletions
|
@ -1619,6 +1619,9 @@ void LIRGenerator::CardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc*
|
|||
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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue