src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
changeset 57804 9b7b9f16dfd9
parent 57777 90ead0febf56
child 58015 dd84de796f2c
equal deleted inserted replaced
57803:23e3ab980622 57804:9b7b9f16dfd9
  5831     mov(dst, c_rarg0);
  5831     mov(dst, c_rarg0);
  5832   }
  5832   }
  5833 
  5833 
  5834   pop(saved_regs, sp);
  5834   pop(saved_regs, sp);
  5835 }
  5835 }
       
  5836 
       
  5837 void MacroAssembler::cache_wb(Address line) {
       
  5838   assert(line.getMode() == Address::base_plus_offset, "mode should be base_plus_offset");
       
  5839   assert(line.index() == noreg, "index should be noreg");
       
  5840   assert(line.offset() == 0, "offset should be 0");
       
  5841   // would like to assert this
       
  5842   // assert(line._ext.shift == 0, "shift should be zero");
       
  5843   if (VM_Version::supports_dcpop()) {
       
  5844     // writeback using clear virtual address to point of persistence
       
  5845     dc(Assembler::CVAP, line.base());
       
  5846   } else {
       
  5847     // no need to generate anything as Unsafe.writebackMemory should
       
  5848     // never invoke this stub
       
  5849   }
       
  5850 }
       
  5851 
       
  5852 void MacroAssembler::cache_wbsync(bool is_pre) {
       
  5853   // we only need a barrier post sync
       
  5854   if (!is_pre) {
       
  5855     membar(Assembler::AnyAny);
       
  5856   }
       
  5857 }