diff options
Diffstat (limited to 'compiler/utils/x86/assembler_x86.h')
-rw-r--r-- | compiler/utils/x86/assembler_x86.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/compiler/utils/x86/assembler_x86.h b/compiler/utils/x86/assembler_x86.h index 522d57a63d..2fe3b7bec5 100644 --- a/compiler/utils/x86/assembler_x86.h +++ b/compiler/utils/x86/assembler_x86.h @@ -795,6 +795,8 @@ class X86Assembler final : public Assembler { void rep_movsw(); X86Assembler* lock(); + void cmpxchgb(const Address& address, ByteRegister reg); + void cmpxchgw(const Address& address, Register reg); void cmpxchgl(const Address& address, Register reg); void cmpxchg8b(const Address& address); @@ -812,6 +814,14 @@ class X86Assembler final : public Assembler { void LoadLongConstant(XmmRegister dst, int64_t value); void LoadDoubleConstant(XmmRegister dst, double value); + void LockCmpxchgb(const Address& address, ByteRegister reg) { + lock()->cmpxchgb(address, reg); + } + + void LockCmpxchgw(const Address& address, Register reg) { + lock()->cmpxchgw(address, reg); + } + void LockCmpxchgl(const Address& address, Register reg) { lock()->cmpxchgl(address, reg); } |