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)