From 180ad8605d09ff0ca754a8e5efcce78844701444 Mon Sep 17 00:00:00 2001 From: Ficture Seven Date: Mon, 4 May 2020 06:06:22 +0400 Subject: Improve IRDumper (#1135) * Improve IRDumper * Make Symbols.Add(ulong, ulong, ulong, string) thread safe * Use a StringBuilder for MemoryOperand * Add #if M_DEBUG guards * Fix JMP_TABLE typo * Fix using in Symbols * Use Conditional("M_DEBUG") instead Address gdkchan's feedback * Use a struct instead of 4-tuple Address gdkchan's feedback * Place symbols in comments instead Address gdkchan's feedback * Use StringBuilder throughout * Handle offsetted symbols * Fix naming convention of Builder * Avoid ArgumentException * Remove unnecessary using * Use switch expression instead * Turn into a class * Clean up * Remove unnecessary using --- ARMeilleure/Translation/EmitterContext.cs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ARMeilleure/Translation/EmitterContext.cs') diff --git a/ARMeilleure/Translation/EmitterContext.cs b/ARMeilleure/Translation/EmitterContext.cs index d9e0a4ed..7abda1a7 100644 --- a/ARMeilleure/Translation/EmitterContext.cs +++ b/ARMeilleure/Translation/EmitterContext.cs @@ -1,3 +1,4 @@ +using ARMeilleure.Diagnostics; using ARMeilleure.IntermediateRepresentation; using ARMeilleure.State; using System; @@ -85,6 +86,8 @@ namespace ARMeilleure.Translation IntPtr ptr = Marshal.GetFunctionPointerForDelegate(func); + Symbols.Add((ulong)ptr.ToInt64(), func.Method.Name); + OperandType returnType = GetOperandType(func.Method.ReturnType); return Call(Const(ptr.ToInt64()), returnType, callArgs); -- cgit v1.2.3