Executable memory is now provided by MM:S's allocator, this should reduce virtual memory usage.

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401900
This commit is contained in:
Borja Ferrer
2008-02-23 20:18:49 +00:00
parent 0e547df447
commit 45860880ef
9 changed files with 137 additions and 20 deletions
+1 -1
View File
@@ -75,7 +75,7 @@ CallWrapper::~CallWrapper()
{
delete [] m_Params;
delete m_RetParam;
g_SPEngine->ExecFree(m_Addrs[ADDR_CODEBASE]);
g_SPEngine->FreePageMemory(m_Addrs[ADDR_CODEBASE]);
}
void CallWrapper::Destroy()
+3 -1
View File
@@ -637,7 +637,8 @@ skip_retbuffer:
if (writer.outbase == NULL)
{
CodeSize = writer.get_outputpos();
writer.outbase = (jitcode_t)g_SPEngine->ExecAlloc(CodeSize);
writer.outbase = (jitcode_t)g_SPEngine->AllocatePageMemory(CodeSize);
g_SPEngine->SetReadWrite(writer.outbase);
writer.outptr = writer.outbase;
pWrapper->m_Addrs[ADDR_CODEBASE] = writer.outbase;
g_StackAlign = (g_StackUsage) ? ((g_StackUsage & 0xFFFFFFF0) + 16) - g_StackUsage : 0;
@@ -646,4 +647,5 @@ skip_retbuffer:
Needs_Retbuf = false;
goto jit_rewind;
}
g_SPEngine->SetReadExecute(writer.outbase);
}