aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Tests/Cpu
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Tests/Cpu')
-rw-r--r--Ryujinx.Tests/Cpu/CpuContext.cs39
-rw-r--r--Ryujinx.Tests/Cpu/CpuTest.cs2
-rw-r--r--Ryujinx.Tests/Cpu/CpuTest32.cs2
3 files changed, 41 insertions, 2 deletions
diff --git a/Ryujinx.Tests/Cpu/CpuContext.cs b/Ryujinx.Tests/Cpu/CpuContext.cs
new file mode 100644
index 00000000..96b4965a
--- /dev/null
+++ b/Ryujinx.Tests/Cpu/CpuContext.cs
@@ -0,0 +1,39 @@
+using ARMeilleure.Memory;
+using ARMeilleure.State;
+using ARMeilleure.Translation;
+using Ryujinx.Cpu;
+using Ryujinx.Cpu.Jit;
+
+namespace Ryujinx.Tests.Cpu
+{
+ public class CpuContext
+ {
+ private readonly Translator _translator;
+
+ public CpuContext(IMemoryManager memory, bool for64Bit)
+ {
+ _translator = new Translator(new JitMemoryAllocator(), memory, for64Bit);
+ memory.UnmapEvent += UnmapHandler;
+ }
+
+ private void UnmapHandler(ulong address, ulong size)
+ {
+ _translator.InvalidateJitCacheRegion(address, size);
+ }
+
+ public static ExecutionContext CreateExecutionContext()
+ {
+ return new ExecutionContext(new JitMemoryAllocator(), new TickSource(19200000));
+ }
+
+ public void Execute(ExecutionContext context, ulong address)
+ {
+ _translator.Execute(context, address);
+ }
+
+ public void InvalidateCacheRegion(ulong address, ulong size)
+ {
+ _translator.InvalidateJitCacheRegion(address, size);
+ }
+ }
+}
diff --git a/Ryujinx.Tests/Cpu/CpuTest.cs b/Ryujinx.Tests/Cpu/CpuTest.cs
index 9cee5497..5fe43dec 100644
--- a/Ryujinx.Tests/Cpu/CpuTest.cs
+++ b/Ryujinx.Tests/Cpu/CpuTest.cs
@@ -2,7 +2,7 @@ using ARMeilleure;
using ARMeilleure.State;
using ARMeilleure.Translation;
using NUnit.Framework;
-using Ryujinx.Cpu;
+using Ryujinx.Cpu.Jit;
using Ryujinx.Memory;
using Ryujinx.Tests.Unicorn;
using System;
diff --git a/Ryujinx.Tests/Cpu/CpuTest32.cs b/Ryujinx.Tests/Cpu/CpuTest32.cs
index d5dc18ea..1bd87aee 100644
--- a/Ryujinx.Tests/Cpu/CpuTest32.cs
+++ b/Ryujinx.Tests/Cpu/CpuTest32.cs
@@ -2,7 +2,7 @@
using ARMeilleure.State;
using ARMeilleure.Translation;
using NUnit.Framework;
-using Ryujinx.Cpu;
+using Ryujinx.Cpu.Jit;
using Ryujinx.Memory;
using Ryujinx.Tests.Unicorn;
using System;