From d7f23ca6d1a6defbe88fb99cc325b8766ff50699 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 b0c28c258..ea6256498 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)