Merge pull request #3535 from RisingFog/cya_savestate_memleak

Properly clear JIT cache on save states
This commit is contained in:
Pierre Bourdon
2016-01-20 18:02:25 +01:00
6 changed files with 20 additions and 2 deletions

View File

@ -1018,3 +1018,11 @@ void EmuCodeBlock::JitClearCA()
{
MOV(8, PPCSTATE(xer_ca), Imm8(0));
}
void EmuCodeBlock::Clear()
{
registersInUseAtLoc.clear();
pcAtLoc.clear();
exceptionHandlerAtLoc.clear();
}

View File

@ -129,6 +129,7 @@ public:
void ConvertSingleToDouble(Gen::X64Reg dst, Gen::X64Reg src, bool src_is_gpr = false);
void ConvertDoubleToSingle(Gen::X64Reg dst, Gen::X64Reg src);
void SetFPRF(Gen::X64Reg xmm);
void Clear();
protected:
std::unordered_map<u8 *, BitSet32> registersInUseAtLoc;
std::unordered_map<u8 *, u32> pcAtLoc;