hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
changeset 3172 ad4ba6ce75a5
parent 2867 69187054225f
child 3908 24b55ad4c228
equal deleted inserted replaced
3171:aa289b22b577 3172:ad4ba6ce75a5
  1532     LIR_PatchCode patch_code = needs_patching ? lir_patch_normal : lir_patch_none;
  1532     LIR_PatchCode patch_code = needs_patching ? lir_patch_normal : lir_patch_none;
  1533     __ store(value.result(), address, info, patch_code);
  1533     __ store(value.result(), address, info, patch_code);
  1534   }
  1534   }
  1535 
  1535 
  1536   if (is_oop) {
  1536   if (is_oop) {
  1537 #ifdef PRECISE_CARDMARK
  1537     // Store to object so mark the card of the header
  1538     // Precise cardmarks don't work
       
  1539     post_barrier(LIR_OprFact::address(address), value.result());
       
  1540 #else
       
  1541     post_barrier(object.result(), value.result());
  1538     post_barrier(object.result(), value.result());
  1542 #endif // PRECISE_CARDMARK
       
  1543   }
  1539   }
  1544 
  1540 
  1545   if (is_volatile && os::is_MP()) {
  1541   if (is_volatile && os::is_MP()) {
  1546     __ membar();
  1542     __ membar();
  1547   }
  1543   }