mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
ARM: Fix excess stack growth in interpreter.
This commit is contained in:
parent
1b774d9da3
commit
54826563b2
@ -335,7 +335,7 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
| // - The GC shrinks the stack in between.
|
||||
| // - A return back from a lua_call() with (high) nresults adjustment.
|
||||
| str BASE, L->top // Save current top held in BASE (yes).
|
||||
| mov CARG2, KBASE
|
||||
| lsr CARG2, KBASE, #3
|
||||
| mov CARG1, L
|
||||
| bl extern lj_state_growstack // (lua_State *L, int n)
|
||||
| ldr BASE, L->top // Need the (realloced) L->top in BASE.
|
||||
@ -389,7 +389,7 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
| str BASE, L->base
|
||||
| add PC, PC, #4 // Must point after first instruction.
|
||||
| str RC, L->top
|
||||
| lsr CARG3, RA, #3
|
||||
| lsr CARG2, RA, #3
|
||||
|2:
|
||||
| // L->base = new base, L->top = top
|
||||
| str PC, SAVE_PC
|
||||
|
Loading…
Reference in New Issue
Block a user