diff options
| author | Martino Fontana <tinozzo123@gmail.com> | 2025-10-05 21:46:41 +0200 |
|---|---|---|
| committer | Martino Fontana <tinozzo123@gmail.com> | 2025-10-08 00:15:57 +0200 |
| commit | f6e5448b43f74fffab22eca2f96b281ef0f662d3 (patch) | |
| tree | 0535a3a960584695b0a73462c309dd01875e9e25 /Source/UnitTests | |
| parent | 70bd0943a7a271606367ac129eb39cbdcd659e42 (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.cpp | 10 |
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) |
