]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
PPC: Fix red zone overflow in machine code generation.
authorMike Pall <mike>
Tue, 27 May 2014 13:58:04 +0000 (15:58 +0200)
committerMike Pall <mike>
Tue, 27 May 2014 13:58:04 +0000 (15:58 +0200)
src/lj_asm_ppc.h

index e1a496a7e0ca9f5ddc5b236444ae1c69616ced0d..0a3d35e993a61c6461e2c738c79bf1585ff14406 100644 (file)
@@ -49,6 +49,8 @@ static void asm_exitstub_setup(ASMState *as, ExitNo nexits)
 {
   ExitNo i;
   MCode *mxp = as->mctop;
+  if (mxp - (nexits + 3 + MCLIM_REDZONE) < as->mclim)
+    asm_mclimit(as);
   /* 1: mflr r0; bl ->vm_exit_handler; li r0, traceno; bl <1; bl <1; ... */
   for (i = nexits-1; (int32_t)i >= 0; i--)
     *--mxp = PPCI_BL|(((-3-i)&0x00ffffffu)<<2);