Browse Source

[dynarmic] remove redundant lock prefix on spinlock

pull/203/head
lizzie 8 months ago
committed by crueter
parent
commit
0b0f045943
  1. 7
      src/dynarmic/src/dynarmic/common/spin_lock_x64.cpp

7
src/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) {

Loading…
Cancel
Save