recompilers: handle the memory by big block (instead of 4KB)

VIF recompilers: full size
EE/MVU/IOP: 1/4th of the size

Lazy allocation is still enabled but it will less triggered.
Next step is to always commit the first block
This commit is contained in:
Gregory Hainaut 2015-11-11 13:33:52 +01:00
parent 7565bcc789
commit a4a0b42f8f
5 changed files with 5 additions and 5 deletions

View File

@ -757,7 +757,7 @@ static const uint m_recBlockAllocSize =
static void recReserveCache()
{
if (!recMem) recMem = new RecompiledCodeReserve(L"R3000A Recompiler Cache", _1mb * 2);
if (!recMem) recMem = new RecompiledCodeReserve(L"R3000A Recompiler Cache", _8mb);
recMem->SetProfilerName("IOPrec");
while (!recMem->IsOk())

View File

@ -584,7 +584,7 @@ static void recThrowHardwareDeficiency( const wxChar* extFail )
static void recReserveCache()
{
if (!recMem) recMem = new RecompiledCodeReserve(L"R5900-32 Recompiler Cache", _1mb * 4);
if (!recMem) recMem = new RecompiledCodeReserve(L"R5900-32 Recompiler Cache", _16mb);
recMem->SetProfilerName("EErec");
while (!recMem->IsOk())

View File

@ -30,7 +30,7 @@ static __fi void mVUthrowHardwareDeficiency(const wxChar* extFail, int vuIndex)
void mVUreserveCache(microVU& mVU) {
mVU.cache_reserve = new RecompiledCodeReserve(pxsFmt("Micro VU%u Recompiler Cache", mVU.index));
mVU.cache_reserve = new RecompiledCodeReserve(pxsFmt("Micro VU%u Recompiler Cache", mVU.index), _16mb);
mVU.cache_reserve->SetProfilerName(pxsFmt("mVU%urec", mVU.index));
mVU.cache = mVU.index ?

View File

@ -23,7 +23,7 @@
void dVifReserve(int idx) {
if(!nVif[idx].recReserve)
nVif[idx].recReserve = new RecompiledCodeReserve(pxsFmt(L"VIF%u Unpack Recompiler Cache", idx));
nVif[idx].recReserve = new RecompiledCodeReserve(pxsFmt(L"VIF%u Unpack Recompiler Cache", idx), _8mb);
nVif[idx].recReserve->Reserve( nVif[idx].recReserveSizeMB * _1mb, idx ? HostMemoryMap::VIF1rec : HostMemoryMap::VIF0rec );
}

View File

@ -417,7 +417,7 @@ void VifUnpackSSE_Init()
DevCon.WriteLn( "Generating SSE-optimized unpacking functions for VIF interpreters..." );
nVifUpkExec = new RecompiledCodeReserve(L"VIF SSE-optimized Unpacking Functions");
nVifUpkExec = new RecompiledCodeReserve(L"VIF SSE-optimized Unpacking Functions", _64kb);
nVifUpkExec->SetProfilerName("iVIF-SSE");
nVifUpkExec->SetBlockSize( 1 );
nVifUpkExec->Reserve( _64kb );