aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2016-05-28 05:01:12 +0200
committerMike Pall <mike>2016-05-28 05:01:12 +0200
commite77638f922f59fddaea81964735dde3cc0de851e (patch)
tree516f9047ef9f1cef34fab33660d7a7a029a29bbb
parent6360f6e10675d4337bbe0c79a67b40d6aa631393 (diff)
downloadluajit-e77638f922f59fddaea81964735dde3cc0de851e.tar.gz
luajit-e77638f922f59fddaea81964735dde3cc0de851e.tar.bz2
luajit-e77638f922f59fddaea81964735dde3cc0de851e.zip
x64/LJ_GC64: Fix __call metamethod for tailcall.
Diffstat (limited to '')
-rw-r--r--src/vm_x64.dasc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm_x64.dasc b/src/vm_x64.dasc
index d38ac907..56154495 100644
--- a/src/vm_x64.dasc
+++ b/src/vm_x64.dasc
@@ -1105,11 +1105,11 @@ static void build_subroutines(BuildCtx *ctx)
1105 | mov BASE, L:RB->base 1105 | mov BASE, L:RB->base
1106 | mov NARGS:RDd, TMP1d 1106 | mov NARGS:RDd, TMP1d
1107 | mov LFUNC:RB, [RA-16] 1107 | mov LFUNC:RB, [RA-16]
1108 | cleartp LFUNC:RB
1109 | add NARGS:RDd, 1 1108 | add NARGS:RDd, 1
1110 | // This is fragile. L->base must not move, KBASE must always be defined. 1109 | // This is fragile. L->base must not move, KBASE must always be defined.
1111 | cmp KBASE, BASE // Continue with CALLT if flag set. 1110 | cmp KBASE, BASE // Continue with CALLT if flag set.
1112 | je ->BC_CALLT_Z 1111 | je ->BC_CALLT_Z
1112 | cleartp LFUNC:RB
1113 | mov BASE, RA 1113 | mov BASE, RA
1114 | ins_call // Otherwise call resolved metamethod. 1114 | ins_call // Otherwise call resolved metamethod.
1115 | 1115 |