From 4315f4795e8e54024230bc18b5a08d5178ae8a05 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Fri, 8 Sep 2023 23:08:32 -0300 Subject: [PATCH] Precise tracking of current PC address --- src/ARMeilleure/Translation/Translator.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ARMeilleure/Translation/Translator.cs b/src/ARMeilleure/Translation/Translator.cs index 4ce4981ee..690e1712c 100644 --- a/src/ARMeilleure/Translation/Translator.cs +++ b/src/ARMeilleure/Translation/Translator.cs @@ -413,6 +413,10 @@ namespace ARMeilleure.Translation context.CurrOp = opCode; + Operand nativeContext = context.LoadArgument(OperandType.I64, 0); + Operand dispAddressAddr = context.Add(nativeContext, Const((ulong)NativeContext.GetDispatchAddressOffset())); + context.Store(dispAddressAddr, Const(opCode.Address)); + bool isLastOp = opcIndex == block.OpCodes.Count - 1; if (isLastOp)