Fix crash when dynamic arrays run out of memory (bug 4632, r=fyren).

This commit is contained in:
David Anderson 2011-07-04 01:57:19 -07:00
parent a752d220cc
commit 6c68082359

View File

@ -2544,17 +2544,7 @@ bool JITX86::InitializeJIT()
jit = &writer;
/* Build the genarray intrinsic */
jit->outbase = NULL;
jit->outptr = NULL;
WriteIntrinsic_GenArray(jit);
m_pJitGenArray = Knight::KE_AllocCode(g_pCodeCache, jit->get_outputpos());
jit->outbase = (jitcode_t)m_pJitGenArray;
jit->outptr = jit->outbase;
WriteIntrinsic_GenArray(jit);
/* Build the entry point */
writer = JitWriter();
jit->outbase = NULL;
jit->outptr = NULL;
Write_Execute_Function(jit);
@ -2564,6 +2554,16 @@ bool JITX86::InitializeJIT()
offs = Write_Execute_Function(jit);
m_pJitReturn = (uint8_t *)m_pJitEntry + offs;
/* Build the genarray intrinsic */
writer = JitWriter();
jit->outbase = NULL;
jit->outptr = NULL;
WriteIntrinsic_GenArray(jit);
m_pJitGenArray = Knight::KE_AllocCode(g_pCodeCache, jit->get_outputpos());
jit->outbase = (jitcode_t)m_pJitGenArray;
jit->outptr = jit->outbase;
WriteIntrinsic_GenArray(jit);
return true;
}