using ARMeilleure.Memory;
using ARMeilleure.State;
using ARMeilleure.Translation;
namespace Ryujinx.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());
public void Execute(ExecutionContext context, ulong address)
_translator.Execute(context, address);