>From e6b85c77511c15fc71195619074a8d2f849d587c Mon Sep 17 00:00:00 2001 From: Paulo Cesar Pereira de Andrade Date: Tue, 24 Aug 2010 21:20:01 -0300 Subject: [PATCH] Ensure stack is aligned at 16 bytes when pushing extra arguments. --- lightning/i386/core-64.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lightning/i386/core-64.h b/lightning/i386/core-64.h index 27c0696..9046827 100644 --- a/lightning/i386/core-64.h +++ b/lightning/i386/core-64.h @@ -150,7 +150,7 @@ struct jit_local_state { : MOVBir(0, _AL), \ jit_calli(sub), \ (_jitl.argssize \ - ? (ADDQir(sizeof(long) * _jitl.argssize, JIT_SP), \ + ? (ADDQir(sizeof(long) * ((_jitl.argssize + 1) & ~1), JIT_SP), \ _jitl.argssize = 0) : 0)) #define jit_reg_is_arg(reg) ((reg) == _ECX || (reg) == _EDX) #define jit_finishr(reg) (_jitl.fprssize \ @@ -161,7 +161,7 @@ struct jit_local_state { jit_callr(JIT_REXTMP)) \ : jit_callr(reg)), \ (_jitl.argssize \ - ? (ADDQir(sizeof(long) * _jitl.argssize, JIT_SP), \ + ? (ADDQir(sizeof(long) * ((_jitl.argssize + 1) & ~1), JIT_SP), \ _jitl.argssize = 0) : 0)) #define jit_retval_l(rd) ((void)jit_movr_l ((rd), _EAX)) -- 1.7.2.1