src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp
changeset 57692 8f3fcb9251d1
parent 55151 9691a169f1dd
child 57697 2e38a71e6038
equal deleted inserted replaced
57691:8b104d8b27fd 57692:8f3fcb9251d1
   470         // load the original value of the card
   470         // load the original value of the card
   471         Node* card_val = __ load(__ ctrl(), card_adr, TypeInt::INT, T_BYTE, Compile::AliasIdxRaw);
   471         Node* card_val = __ load(__ ctrl(), card_adr, TypeInt::INT, T_BYTE, Compile::AliasIdxRaw);
   472 
   472 
   473         __ if_then(card_val, BoolTest::ne, young_card); {
   473         __ if_then(card_val, BoolTest::ne, young_card); {
   474           kit->sync_kit(ideal);
   474           kit->sync_kit(ideal);
   475           kit->insert_store_load_for_barrier();
   475           kit->insert_mem_bar(Op_MemBarVolatile, oop_store);
   476           __ sync_kit(kit);
   476           __ sync_kit(kit);
   477 
   477 
   478           Node* card_val_reload = __ load(__ ctrl(), card_adr, TypeInt::INT, T_BYTE, Compile::AliasIdxRaw);
   478           Node* card_val_reload = __ load(__ ctrl(), card_adr, TypeInt::INT, T_BYTE, Compile::AliasIdxRaw);
   479           __ if_then(card_val_reload, BoolTest::ne, dirty_card); {
   479           __ if_then(card_val_reload, BoolTest::ne, dirty_card); {
   480             g1_mark_card(kit, ideal, card_adr, oop_store, alias_idx, index, index_adr, buffer, tf);
   480             g1_mark_card(kit, ideal, card_adr, oop_store, alias_idx, index, index_adr, buffer, tf);