mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-29 17:19:50 -06:00
Move solution and projects to src
This commit is contained in:
39
src/Ryujinx.Tests/Cpu/CpuContext.cs
Normal file
39
src/Ryujinx.Tests/Cpu/CpuContext.cs
Normal file
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user