From 8a11869d4905249600ce34bc12a47d6058fa4e21 Mon Sep 17 00:00:00 2001
From: Mike Pall <mike>
Date: Wed, 7 Nov 2012 18:04:58 +0100
Subject: FFI: Fix stack-adjustment for __thiscall callbacks.

---
 src/lj_ccallback.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

(limited to 'src')

diff --git a/src/lj_ccallback.c b/src/lj_ccallback.c
index e1d03fcf..0b5adb09 100644
--- a/src/lj_ccallback.c
+++ b/src/lj_ccallback.c
@@ -481,12 +481,9 @@ static void callback_conv_args(CTState *cts, lua_State *L)
   }
   L->top = o;
 #if LJ_TARGET_X86
-  /* Store stack adjustment for returns from fastcall/stdcall callbacks. */
-  switch (ctype_cconv(ct->info)) {
-  case CTCC_FASTCALL: case CTCC_STDCALL:
+  /* Store stack adjustment for returns from non-cdecl callbacks. */
+  if (ctype_cconv(ct->info) != CTCC_CDECL)
     (L->base-2)->u32.hi |= (nsp << (16+2));
-    break;
-  }
 #endif
 }
 
-- 
cgit v1.2.3-55-g6feb