summaryrefslogtreecommitdiff
path: root/Source/UnitTests
diff options
context:
space:
mode:
authorMartino Fontana <tinozzo123@gmail.com>2025-10-05 21:46:41 +0200
committerMartino Fontana <tinozzo123@gmail.com>2025-10-08 00:15:57 +0200
commitf6e5448b43f74fffab22eca2f96b281ef0f662d3 (patch)
tree0535a3a960584695b0a73462c309dd01875e9e25 /Source/UnitTests
parent70bd0943a7a271606367ac129eb39cbdcd659e42 (diff)
Jit64: Dynamic length of regular jump instruction (for known addresses)
Conditional jumps already do that, so let's be consistent.
Diffstat (limited to 'Source/UnitTests')
-rw-r--r--Source/UnitTests/Common/x64EmitterTest.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/UnitTests/Common/x64EmitterTest.cpp b/Source/UnitTests/Common/x64EmitterTest.cpp
index ae69c3f712..f38bb7c1b9 100644
--- a/Source/UnitTests/Common/x64EmitterTest.cpp
+++ b/Source/UnitTests/Common/x64EmitterTest.cpp
@@ -298,12 +298,14 @@ TEST_F(x64EmitterTest, POP_Register)
TEST_F(x64EmitterTest, JMP)
{
emitter->NOP(1);
- emitter->JMP(code_buffer, XEmitter::Jump::Short);
+ emitter->JMP(code_buffer);
ExpectBytes({/* nop */ 0x90, /* short jmp */ 0xeb, /* offset -3 */ 0xfd});
- emitter->NOP(1);
- emitter->JMP(code_buffer, XEmitter::Jump::Near);
- ExpectBytes({/* nop */ 0x90, /* near jmp */ 0xe9, /* offset -6 */ 0xfa, 0xff, 0xff, 0xff});
+ emitter->NOP(0x90);
+ const u8* after_nops = emitter->GetCodePtr();
+ ResetCodeBuffer();
+ emitter->JMP(after_nops);
+ ExpectBytes({/* near jmp */ 0xe9, /* offset */ 0x8B, 0, 0, 0});
}
TEST_F(x64EmitterTest, JMPptr_Register)