diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_asm_ppc.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lj_asm_ppc.h b/src/lj_asm_ppc.h index e1a496a7..0a3d35e9 100644 --- a/src/lj_asm_ppc.h +++ b/src/lj_asm_ppc.h | |||
| @@ -49,6 +49,8 @@ static void asm_exitstub_setup(ASMState *as, ExitNo nexits) | |||
| 49 | { | 49 | { |
| 50 | ExitNo i; | 50 | ExitNo i; |
| 51 | MCode *mxp = as->mctop; | 51 | MCode *mxp = as->mctop; |
| 52 | if (mxp - (nexits + 3 + MCLIM_REDZONE) < as->mclim) | ||
| 53 | asm_mclimit(as); | ||
| 52 | /* 1: mflr r0; bl ->vm_exit_handler; li r0, traceno; bl <1; bl <1; ... */ | 54 | /* 1: mflr r0; bl ->vm_exit_handler; li r0, traceno; bl <1; bl <1; ... */ |
| 53 | for (i = nexits-1; (int32_t)i >= 0; i--) | 55 | for (i = nexits-1; (int32_t)i >= 0; i--) |
| 54 | *--mxp = PPCI_BL|(((-3-i)&0x00ffffffu)<<2); | 56 | *--mxp = PPCI_BL|(((-3-i)&0x00ffffffu)<<2); |
