From 666e95a66d1a2ceb98bdf320980b3f655264a9c9 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Wed, 20 Dec 2023 11:06:27 -0300 Subject: Option 0 for step multiplier makes GC non-incremental --- llimits.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'llimits.h') diff --git a/llimits.h b/llimits.h index 47dee9a6..3bcd1b7f 100644 --- a/llimits.h +++ b/llimits.h @@ -33,7 +33,8 @@ typedef unsigned long lu_mem; typedef long l_obj; #endif /* } */ -#define MAX_LOBJ cast(l_obj, ~cast(lu_mem, 0) >> 1) +#define MAX_LOBJ \ + cast(l_obj, (cast(lu_mem, 1) << (sizeof(l_obj) * CHAR_BIT - 1)) - 1) /* chars used as small naturals (so that 'char' is reserved for characters) */ @@ -44,7 +45,10 @@ typedef signed char ls_byte; /* maximum value for size_t */ #define MAX_SIZET ((size_t)(~(size_t)0)) -/* maximum size visible for Lua (must be representable in a lua_Integer) */ +/* +** Maximum size for strings and userdata visible for Lua (should be +** representable in a lua_Integer) +*/ #define MAX_SIZE (sizeof(size_t) < sizeof(lua_Integer) ? MAX_SIZET \ : (size_t)(LUA_MAXINTEGER)) -- cgit v1.2.3-55-g6feb