[JIT]: First compiled block! Figure out why scheduling an event from the emitted code makes the underlying queue point to 0x0...
This commit is contained in:
@@ -316,19 +316,6 @@ u64 Mem::Read(Registers ®s, const u32 paddr) {
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
void Mem::WriteJIT<u8>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
if (jit)
|
||||
jit->InvalidateBlock(paddr);
|
||||
|
||||
WriteInterpreter<u8>(regs, paddr, val);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Mem::Write<u8>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
WriteInterpreter<u8>(regs, paddr, val);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Mem::WriteInterpreter<u8>(Registers ®s, u32 paddr, u32 val) {
|
||||
SI &si = mmio.si;
|
||||
@@ -371,16 +358,15 @@ void Mem::WriteInterpreter<u8>(Registers ®s, u32 paddr, u32 val) {
|
||||
}
|
||||
|
||||
template <>
|
||||
void Mem::WriteJIT<u16>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
void Mem::WriteJIT<u8>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
WriteInterpreter<u8>(regs, paddr, val);
|
||||
if (jit)
|
||||
jit->InvalidateBlock(paddr);
|
||||
|
||||
WriteInterpreter<u16>(regs, paddr, val);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Mem::Write<u16>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
WriteInterpreter<u16>(regs, paddr, val);
|
||||
void Mem::Write<u8>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
WriteInterpreter<u8>(regs, paddr, val);
|
||||
}
|
||||
|
||||
template <>
|
||||
@@ -425,16 +411,15 @@ void Mem::WriteInterpreter<u16>(Registers ®s, u32 paddr, u32 val) {
|
||||
}
|
||||
|
||||
template <>
|
||||
void Mem::WriteJIT<u32>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
void Mem::WriteJIT<u16>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
WriteInterpreter<u16>(regs, paddr, val);
|
||||
if (jit)
|
||||
jit->InvalidateBlock(paddr);
|
||||
|
||||
WriteInterpreter<u32>(regs, paddr, val);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Mem::Write<u32>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
WriteInterpreter<u32>(regs, paddr, val);
|
||||
void Mem::Write<u16>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
WriteInterpreter<u16>(regs, paddr, val);
|
||||
}
|
||||
|
||||
template <>
|
||||
@@ -475,11 +460,22 @@ void Mem::WriteInterpreter<u32>(Registers ®s, const u32 paddr, const u32 val)
|
||||
}
|
||||
}
|
||||
|
||||
void Mem::WriteJIT(const Registers ®s, const u32 paddr, const u64 val) {
|
||||
template <>
|
||||
void Mem::WriteJIT<u32>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
WriteInterpreter<u32>(regs, paddr, val);
|
||||
if (jit)
|
||||
jit->InvalidateBlock(paddr);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Mem::Write<u32>(Registers ®s, const u32 paddr, const u32 val) {
|
||||
WriteInterpreter<u32>(regs, paddr, val);
|
||||
}
|
||||
|
||||
void Mem::WriteJIT(const Registers ®s, const u32 paddr, const u64 val) {
|
||||
WriteInterpreter(regs, paddr, val);
|
||||
if (jit)
|
||||
jit->InvalidateBlock(paddr);
|
||||
}
|
||||
|
||||
void Mem::Write(const Registers ®s, const u32 paddr, const u64 val) { WriteInterpreter(regs, paddr, val); }
|
||||
|
||||
Reference in New Issue
Block a user