CPU: Basic recompiler implementation for x64 (lui, ori, addiu)

Disabled by default.
This commit is contained in:
Connor McLaughlin
2019-11-19 20:30:04 +10:00
parent 0e8ff85f04
commit 1d6c4a3af1
25 changed files with 4104 additions and 49 deletions

View File

@ -0,0 +1,43 @@
#include "cpu_recompiler_thunks.h"
namespace CPU::Recompiler {
// TODO: Port thunks to "ASM routines", i.e. code in the jit buffer.
bool Thunks::ReadMemoryByte(Core* cpu, u32 address, u8* value)
{
return cpu->ReadMemoryByte(address, value);
}
bool Thunks::ReadMemoryHalfWord(Core* cpu, u32 address, u16* value)
{
return cpu->ReadMemoryHalfWord(address, value);
}
bool Thunks::ReadMemoryWord(Core* cpu, u32 address, u32* value)
{
return cpu->ReadMemoryWord(address, value);
}
bool Thunks::WriteMemoryByte(Core* cpu, u32 address, u8 value)
{
return cpu->WriteMemoryByte(address, value);
}
bool Thunks::WriteMemoryHalfWord(Core* cpu, u32 address, u16 value)
{
return cpu->WriteMemoryHalfWord(address, value);
}
bool Thunks::WriteMemoryWord(Core* cpu, u32 address, u32 value)
{
return cpu->WriteMemoryWord(address, value);
}
bool Thunks::InterpretInstruction(Core* cpu)
{
cpu->ExecuteInstruction();
return cpu->m_exception_raised;
}
} // namespace CPU::Recompiler