diff options
author | Mike Pall <mike> | 2014-12-27 05:59:16 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2014-12-27 05:59:16 +0100 |
commit | 54826563b2f5e1f41c234bd021b3144efedcdc6f (patch) | |
tree | 2d44e492c711d1054a01215c52dffc26c58f11c7 | |
parent | 1b774d9da38686532c1da623819fedf7b261f607 (diff) | |
download | luajit2-54826563b2f5e1f41c234bd021b3144efedcdc6f.tar.gz |
ARM: Fix excess stack growth in interpreter.
-rw-r--r-- | src/vm_arm.dasc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vm_arm.dasc b/src/vm_arm.dasc index 82cba909..0865d016 100644 --- a/src/vm_arm.dasc +++ b/src/vm_arm.dasc @@ -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 |