From 08e100ec0569766f94a688f3dfd22e6e724f4a80 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Wed, 10 Jun 2015 12:15:28 +0200 Subject: [PATCH] x64/LJ_GC64: Fix ipairs(). --- src/vm_x64.dasc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/vm_x64.dasc b/src/vm_x64.dasc index 2b1c8d2d..e7e990ae 100644 --- a/src/vm_x64.dasc +++ b/src/vm_x64.dasc @@ -1435,9 +1435,16 @@ static void build_subroutines(BuildCtx *ctx) | jmp ->fff_res2 |2: // Check for empty hash part first. Otherwise call C function. | cmp dword TAB:RB->hmask, 0; je ->fff_res0 + |.if X64WIN + | mov TMPR, BASE + | mov CARG2d, RAd + | mov CARG1, TAB:RB + | mov RB, TMPR + |.else | mov CARG1, TAB:RB | mov RB, BASE // Save BASE. | mov CARG2d, RAd // Caveat: CARG2 == BASE + |.endif | call extern lj_tab_getinth // (GCtab *t, int32_t key) | // cTValue * or NULL returned in eax (RD). | mov BASE, RB