aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2015-07-14 13:04:08 +0200
committerMike Pall <mike>2015-07-14 13:04:08 +0200
commitba6344d1ef4b3013dc83b434df2610fe8dbf5617 (patch)
tree02dcadcdb1d318c3130e4c741dee195a1f5f1ff8 /src
parent5874c212918c5feb55d93ac9f1b3a41948e8fd92 (diff)
downloadluajit-ba6344d1ef4b3013dc83b434df2610fe8dbf5617.tar.gz
luajit-ba6344d1ef4b3013dc83b434df2610fe8dbf5617.tar.bz2
luajit-ba6344d1ef4b3013dc83b434df2610fe8dbf5617.zip
ARM64: Fix __call metamethod handling for tail calls.
Diffstat (limited to 'src')
-rw-r--r--src/vm_arm64.dasc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vm_arm64.dasc b/src/vm_arm64.dasc
index d772f95b..f1251f2c 100644
--- a/src/vm_arm64.dasc
+++ b/src/vm_arm64.dasc
@@ -853,10 +853,10 @@ static void build_subroutines(BuildCtx *ctx)
853 | str PC, SAVE_PC 853 | str PC, SAVE_PC
854 | add CARG3, RA, NARGS8:RC 854 | add CARG3, RA, NARGS8:RC
855 | bl extern lj_meta_call // (lua_State *L, TValue *func, TValue *top) 855 | bl extern lj_meta_call // (lua_State *L, TValue *func, TValue *top)
856 | ldr LFUNC:CARG3, [RA, FRAME_FUNC] // Guaranteed to be a function here. 856 | ldr TMP1, [RA, FRAME_FUNC] // Guaranteed to be a function here.
857 | ldr PC, [BASE, FRAME_PC] 857 | ldr PC, [BASE, FRAME_PC]
858 | add NARGS8:RC, NARGS8:RC, #8 // Got one more argument now. 858 | add NARGS8:RC, NARGS8:RC, #8 // Got one more argument now.
859 | and LFUNC:CARG3, CARG3, #LJ_GCVMASK 859 | and LFUNC:CARG3, TMP1, #LJ_GCVMASK
860 | b ->BC_CALLT2_Z 860 | b ->BC_CALLT2_Z
861 | 861 |
862 |//-- Argument coercion for 'for' statement ------------------------------ 862 |//-- Argument coercion for 'for' statement ------------------------------