From fa40c7ca0970d8ccfc0d21c4a4a13ebbd18fb2c8 Mon Sep 17 00:00:00 2001 From: lizzie Date: Sun, 27 Jul 2025 18:42:39 +0100 Subject: [PATCH] [dynarmic] remove redundant lock prefix on spinlock --- externals/dynarmic/src/dynarmic/common/spin_lock_x64.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/externals/dynarmic/src/dynarmic/common/spin_lock_x64.cpp b/externals/dynarmic/src/dynarmic/common/spin_lock_x64.cpp index fdea94f4be..f0e44dc62e 100644 --- a/externals/dynarmic/src/dynarmic/common/spin_lock_x64.cpp +++ b/externals/dynarmic/src/dynarmic/common/spin_lock_x64.cpp @@ -16,15 +16,14 @@ namespace Dynarmic { void EmitSpinLockLock(Xbyak::CodeGenerator& code, Xbyak::Reg64 ptr, Xbyak::Reg32 tmp) { Xbyak::Label start, loop; - code.jmp(start); + code.jmp(start, code.T_NEAR); code.L(loop); code.pause(); code.L(start); code.mov(tmp, 1); - code.lock(); - code.xchg(code.dword[ptr], tmp); + /*code.lock();*/ code.xchg(code.dword[ptr], tmp); code.test(tmp, tmp); - code.jnz(loop); + code.jnz(loop, code.T_NEAR); } void EmitSpinLockUnlock(Xbyak::CodeGenerator& code, Xbyak::Reg64 ptr, Xbyak::Reg32 tmp) {