From 92d166ecb7e5b29a27bffd77754d8e592435ee6b Mon Sep 17 00:00:00 2001 From: gdkchan Date: Thu, 17 Feb 2022 22:53:18 -0300 Subject: Enable CPU JIT cache invalidation (#2965) * Enable CPU JIT cache invalidation * Invalidate cache on IC IVAU --- ARMeilleure/Translation/PTC/Ptc.cs | 4 ++-- ARMeilleure/Translation/PTC/PtcProfiler.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'ARMeilleure/Translation/PTC') diff --git a/ARMeilleure/Translation/PTC/Ptc.cs b/ARMeilleure/Translation/PTC/Ptc.cs index 08000979..c6bb0b49 100644 --- a/ARMeilleure/Translation/PTC/Ptc.cs +++ b/ARMeilleure/Translation/PTC/Ptc.cs @@ -585,7 +585,7 @@ namespace ARMeilleure.Translation.PTC translator.RegisterFunction(infoEntry.Address, func); - bool isAddressUnique = translator.Functions.TryAdd(infoEntry.Address, func); + bool isAddressUnique = translator.Functions.TryAdd(infoEntry.Address, infoEntry.GuestSize, func); Debug.Assert(isAddressUnique, $"The address 0x{infoEntry.Address:X16} is not unique."); } @@ -815,7 +815,7 @@ namespace ARMeilleure.Translation.PTC TranslatedFunction func = translator.Translate(address, item.funcProfile.Mode, item.funcProfile.HighCq); - bool isAddressUnique = translator.Functions.TryAdd(address, func); + bool isAddressUnique = translator.Functions.TryAdd(address, func.GuestSize, func); Debug.Assert(isAddressUnique, $"The address 0x{address:X16} is not unique."); diff --git a/ARMeilleure/Translation/PTC/PtcProfiler.cs b/ARMeilleure/Translation/PTC/PtcProfiler.cs index e31ff230..bb70da8d 100644 --- a/ARMeilleure/Translation/PTC/PtcProfiler.cs +++ b/ARMeilleure/Translation/PTC/PtcProfiler.cs @@ -96,7 +96,7 @@ namespace ARMeilleure.Translation.PTC return address >= StaticCodeStart && address < StaticCodeStart + StaticCodeSize; } - internal static ConcurrentQueue<(ulong address, FuncProfile funcProfile)> GetProfiledFuncsToTranslate(ConcurrentDictionary funcs) + internal static ConcurrentQueue<(ulong address, FuncProfile funcProfile)> GetProfiledFuncsToTranslate(TranslatorCache funcs) { var profiledFuncsToTranslate = new ConcurrentQueue<(ulong address, FuncProfile funcProfile)>(); -- cgit v1.2.3