From f91b0d02427bfcce42b5c67443ba17c04b9a4e7f Mon Sep 17 00:00:00 2001 From: irisz64 Date: Mon, 7 Jul 2025 11:19:36 +0200 Subject: [PATCH] [JIT] implement setPC like regs --- src/backend/core/JIT.hpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/backend/core/JIT.hpp b/src/backend/core/JIT.hpp index 03fd0846..5f96ff28 100644 --- a/src/backend/core/JIT.hpp +++ b/src/backend/core/JIT.hpp @@ -99,6 +99,20 @@ private: code.add(code.rsp, 8); } + void SetPC32(s32 val) { + code.mov(code.rax, REG(qword, pc)); + code.mov(REG(qword, oldPC), code.rax); + code.mov(REG(qword, pc), (s64)val); + code.mov(REG(qword, nextPC), (s64)val + 4); + } + + void SetPC64(s64 val) { + code.mov(code.rax, REG(qword, pc)); + code.mov(REG(qword, oldPC), code.rax); + code.mov(REG(qword, pc), val); + code.mov(REG(qword, nextPC), val + 4); + } + void SkipSlot(); void SkipSlotConstant(); void BranchNotTaken();