From 55a710545c811f3ccb6aea6232657015f474139f Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Wed, 23 Jul 2014 14:16:50 -0300 Subject: [PATCH] detail (extra byte in LUAI_EXTRASPACE to test proper alignment of a lua_State) --- ltests.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ltests.h b/ltests.h index 3cd8230a..4ff0675f 100644 --- a/ltests.h +++ b/ltests.h @@ -1,5 +1,5 @@ /* -** $Id: ltests.h,v 2.35 2014/07/18 13:27:45 roberto Exp roberto $ +** $Id: ltests.h,v 2.36 2014/07/23 16:47:47 roberto Exp roberto $ ** Internal Header for Debugging of the Lua Implementation ** See Copyright Notice in lua.h */ @@ -64,7 +64,8 @@ int lua_checkmemory (lua_State *L); /* test for lock/unlock */ struct L_EXTRA { int lock; int *plock; }; -#define LUAI_EXTRASPACE sizeof(struct L_EXTRA) +/* extra space before a Lua state (+1 to make it unaligned) */ +#define LUAI_EXTRASPACE (sizeof(struct L_EXTRA) + 1) #define getlock(l) (cast(struct L_EXTRA *, l) - 1) #define luai_userstateopen(l) \ (getlock(l)->lock = 0, getlock(l)->plock = &(getlock(l)->lock))