src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp
changeset 48183 ee8e37f85775
parent 48127 efc459cf351e
child 48652 7c03f19d38a7
equal deleted inserted replaced
48182:5fb0f3f24f6b 48183:ee8e37f85775
   996   void atomic_xchgw(Register prev, Register newv, Register addr);
   996   void atomic_xchgw(Register prev, Register newv, Register addr);
   997   void atomic_xchgal(Register prev, Register newv, Register addr);
   997   void atomic_xchgal(Register prev, Register newv, Register addr);
   998   void atomic_xchgalw(Register prev, Register newv, Register addr);
   998   void atomic_xchgalw(Register prev, Register newv, Register addr);
   999 
   999 
  1000   void orptr(Address adr, RegisterOrConstant src) {
  1000   void orptr(Address adr, RegisterOrConstant src) {
  1001     ldr(rscratch2, adr);
  1001     ldr(rscratch1, adr);
  1002     if (src.is_register())
  1002     if (src.is_register())
  1003       orr(rscratch2, rscratch2, src.as_register());
  1003       orr(rscratch1, rscratch1, src.as_register());
  1004     else
  1004     else
  1005       orr(rscratch2, rscratch2, src.as_constant());
  1005       orr(rscratch1, rscratch1, src.as_constant());
  1006     str(rscratch2, adr);
  1006     str(rscratch1, adr);
  1007   }
  1007   }
  1008 
  1008 
  1009   // A generic CAS; success or failure is in the EQ flag.
  1009   // A generic CAS; success or failure is in the EQ flag.
  1010   // Clobbers rscratch1
  1010   // Clobbers rscratch1
  1011   void cmpxchg(Register addr, Register expected, Register new_val,
  1011   void cmpxchg(Register addr, Register expected, Register new_val,