|
@@ -1,5 +1,5 @@
|
|
/*
|
|
/*
|
|
-** $Id: llimits.h,v 1.121 2014/10/25 11:50:46 roberto Exp roberto $
|
|
|
|
|
|
+** $Id: llimits.h,v 1.122 2014/10/27 16:29:58 roberto Exp roberto $
|
|
** Limits, basic types, and some other 'installation-dependent' definitions
|
|
** Limits, basic types, and some other 'installation-dependent' definitions
|
|
** See Copyright Notice in lua.h
|
|
** See Copyright Notice in lua.h
|
|
*/
|
|
*/
|
|
@@ -14,13 +14,21 @@
|
|
|
|
|
|
#include "lua.h"
|
|
#include "lua.h"
|
|
|
|
|
|
-
|
|
|
|
-typedef unsigned LUA_INT32 lu_int32;
|
|
|
|
-
|
|
|
|
|
|
+/*
|
|
|
|
+** 'lu_mem' and 'l_mem' are unsigned/signed integers big enough to count
|
|
|
|
+** the total memory used by Lua (in bytes). Usually, 'size_t' and
|
|
|
|
+** 'ptrdiff_t' should work, but we use 'long' for 16-bit machines.
|
|
|
|
+*/
|
|
|
|
+#if defined(LUAI_MEM) /* { external definitions? */
|
|
typedef LUAI_UMEM lu_mem;
|
|
typedef LUAI_UMEM lu_mem;
|
|
-
|
|
|
|
typedef LUAI_MEM l_mem;
|
|
typedef LUAI_MEM l_mem;
|
|
-
|
|
|
|
|
|
+#elif LUAI_BITSINT >= 32 /* }{ */
|
|
|
|
+typedef size_t lu_mem;
|
|
|
|
+typedef ptrdiff_t l_mem;
|
|
|
|
+#else /* 16-bit ints */ /* }{ */
|
|
|
|
+typedef unsigned long lu_mem;
|
|
|
|
+typedef long l_mem;
|
|
|
|
+#endif /* } */
|
|
|
|
|
|
|
|
|
|
/* chars used as small naturals (so that 'char' is reserved for characters) */
|
|
/* chars used as small naturals (so that 'char' is reserved for characters) */
|
|
@@ -48,7 +56,7 @@ typedef unsigned char lu_byte;
|
|
** this is for hashing only; there is no problem if the integer
|
|
** this is for hashing only; there is no problem if the integer
|
|
** cannot hold the whole pointer value
|
|
** cannot hold the whole pointer value
|
|
*/
|
|
*/
|
|
-#define point2int(p) ((unsigned int)((lu_mem)(p) & UINT_MAX))
|
|
|
|
|
|
+#define point2int(p) ((unsigned int)((size_t)(p) & UINT_MAX))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -149,10 +157,14 @@ typedef LUAI_UACINT l_uacInt;
|
|
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
-** type for virtual-machine instructions
|
|
|
|
|
|
+** type for virtual-machine instructions;
|
|
** must be an unsigned with (at least) 4 bytes (see details in lopcodes.h)
|
|
** must be an unsigned with (at least) 4 bytes (see details in lopcodes.h)
|
|
*/
|
|
*/
|
|
-typedef lu_int32 Instruction;
|
|
|
|
|
|
+#if LUAI_BITSINT >= 32
|
|
|
|
+typedef unsigned int Instruction;
|
|
|
|
+#else
|
|
|
|
+typedef unsigned long Instruction;
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -170,12 +182,12 @@ typedef lu_int32 Instruction;
|
|
|
|
|
|
|
|
|
|
#if !defined(lua_lock)
|
|
#if !defined(lua_lock)
|
|
-#define lua_lock(L) ((void) 0)
|
|
|
|
-#define lua_unlock(L) ((void) 0)
|
|
|
|
|
|
+#define lua_lock(L) ((void) 0)
|
|
|
|
+#define lua_unlock(L) ((void) 0)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if !defined(luai_threadyield)
|
|
#if !defined(luai_threadyield)
|
|
-#define luai_threadyield(L) {lua_unlock(L); lua_lock(L);}
|
|
|
|
|
|
+#define luai_threadyield(L) {lua_unlock(L); lua_lock(L);}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
|
|
@@ -201,11 +213,11 @@ typedef lu_int32 Instruction;
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if !defined(luai_userstateresume)
|
|
#if !defined(luai_userstateresume)
|
|
-#define luai_userstateresume(L,n) ((void)L)
|
|
|
|
|
|
+#define luai_userstateresume(L,n) ((void)L)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if !defined(luai_userstateyield)
|
|
#if !defined(luai_userstateyield)
|
|
-#define luai_userstateyield(L,n) ((void)L)
|
|
|
|
|
|
+#define luai_userstateyield(L,n) ((void)L)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
|