[dynarmic] remove redundant lock prefix on spinlock
This commit is contained in:
parent
5dba7898b6
commit
0b0f045943
1 changed files with 3 additions and 4 deletions
|
@ -16,15 +16,14 @@ namespace Dynarmic {
|
||||||
void EmitSpinLockLock(Xbyak::CodeGenerator& code, Xbyak::Reg64 ptr, Xbyak::Reg32 tmp) {
|
void EmitSpinLockLock(Xbyak::CodeGenerator& code, Xbyak::Reg64 ptr, Xbyak::Reg32 tmp) {
|
||||||
Xbyak::Label start, loop;
|
Xbyak::Label start, loop;
|
||||||
|
|
||||||
code.jmp(start);
|
code.jmp(start, code.T_NEAR);
|
||||||
code.L(loop);
|
code.L(loop);
|
||||||
code.pause();
|
code.pause();
|
||||||
code.L(start);
|
code.L(start);
|
||||||
code.mov(tmp, 1);
|
code.mov(tmp, 1);
|
||||||
code.lock();
|
/*code.lock();*/ code.xchg(code.dword[ptr], tmp);
|
||||||
code.xchg(code.dword[ptr], tmp);
|
|
||||||
code.test(tmp, 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) {
|
void EmitSpinLockUnlock(Xbyak::CodeGenerator& code, Xbyak::Reg64 ptr, Xbyak::Reg32 tmp) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue