]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Add target-specific macro for stack alignment in assembler backend.
authorMike Pall <mike>
Mon, 16 May 2011 00:43:14 +0000 (02:43 +0200)
committerMike Pall <mike>
Mon, 16 May 2011 00:43:14 +0000 (02:43 +0200)
src/lj_asm.c
src/lj_target_x86.h

index 87c09bb96a5fee7aecac68d20e2c77269c6f8724..8b984d8ed1d05026deda99ec22a0914247b920d8 100644 (file)
@@ -729,7 +729,7 @@ static int32_t asm_stack_adjust(ASMState *as)
 {
   if (as->evenspill <= SPS_FIXED)
     return 0;
-  return sps_scale((as->evenspill - SPS_FIXED + 3) & ~3);
+  return sps_scale(sps_align(as->evenspill));
 }
 
 /* Must match with hash*() in lj_tab.c. */
index 48b53b6d77f5bd4cd9e61bf11cfa78848d4e3150..5c24761e22c188deffda82e6fe91926672e9a30a 100644 (file)
@@ -136,6 +136,7 @@ enum {
 #endif
 
 #define sps_scale(slot)                (4 * (int32_t)(slot))
+#define sps_align(slot)                (((slot) - SPS_FIXED + 3) & ~3)
 
 /* -- Exit state ---------------------------------------------------------- */