summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vm_x86.dasc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vm_x86.dasc b/src/vm_x86.dasc
index b23d046b..60359bd7 100644
--- a/src/vm_x86.dasc
+++ b/src/vm_x86.dasc
@@ -1246,7 +1246,11 @@ static void build_subroutines(BuildCtx *ctx)
| mov LFUNC:RB, [RA-8]
| add NARGS:RD, 1
| // This is fragile. L->base must not move, KBASE must always be defined.
+ |.if x64
+ | cmp KBASEa, rdx // Continue with CALLT if flag set.
+ |.else
| cmp KBASE, BASE // Continue with CALLT if flag set.
+ |.endif
| je ->BC_CALLT_Z
| mov BASE, RA
| ins_call // Otherwise call resolved metamethod.