This commit is contained in:
Roberto Ierusalimschy
2000-03-31 13:28:45 -03:00
parent 8f0f54ec38
commit 36e1390631
5 changed files with 24 additions and 20 deletions

View File

@@ -1,5 +1,5 @@
/* /*
** $Id: llimits.h,v 1.2 2000/03/24 19:49:23 roberto Exp roberto $ ** $Id: llimits.h,v 1.3 2000/03/27 20:08:33 roberto Exp roberto $
** Limits, basic types, and some other "instalation-dependent" definitions ** Limits, basic types, and some other "instalation-dependent" definitions
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@@ -43,6 +43,13 @@ typedef LUA_NUM_TYPE Number;
#define MINPOWER2 4 /* minimum size for "growing" vectors */ #define MINPOWER2 4 /* minimum size for "growing" vectors */
#ifndef DEFAULT_STACK_SIZE
#define DEFAULT_STACK_SIZE 1024
#endif
/* /*
** type for virtual-machine instructions ** type for virtual-machine instructions
** must be an unsigned with 4 bytes (see details in lopcodes.h) ** must be an unsigned with 4 bytes (see details in lopcodes.h)
@@ -151,7 +158,11 @@ typedef unsigned long Instruction;
/* number of list items to accumulate before a SETLIST instruction */ /* number of list items to accumulate before a SETLIST instruction */
#define LFIELDS_PER_FLUSH 64
#if LFIELDS_PER_FLUSH>(MAXSTACK/4)
#undef LFIELDS_PER_FLUSH
#define LFIELDS_PER_FLUSH (MAXSTACK/4) #define LFIELDS_PER_FLUSH (MAXSTACK/4)
#endif
/* number of record items to accumulate before a SETMAP instruction */ /* number of record items to accumulate before a SETMAP instruction */
/* (each item counts 2 elements on the stack: an index and a value) */ /* (each item counts 2 elements on the stack: an index and a value) */

View File

@@ -1,5 +1,5 @@
/* /*
** $Id: lobject.c,v 1.34 2000/03/27 20:10:21 roberto Exp roberto $ ** $Id: lobject.c,v 1.35 2000/03/29 20:19:20 roberto Exp roberto $
** Some generic functions over Lua objects ** Some generic functions over Lua objects
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@@ -42,11 +42,9 @@ int luaO_equalval (const TObject *t1, const TObject *t2) {
return avalue(t1) == avalue(t2); return avalue(t1) == avalue(t2);
case TAG_CCLOSURE: case TAG_LCLOSURE: case TAG_CCLOSURE: case TAG_LCLOSURE:
return clvalue(t1) == clvalue(t2); return clvalue(t1) == clvalue(t2);
case TAG_NIL:
return 1;
default: default:
LUA_INTERNALERROR(L, "invalid type"); LUA_ASSERT(L, ttype(t1) == TAG_NIL, "invalid type");
return 0; /* UNREACHABLE */ return 1; /* TAG_NIL */
} }
} }

View File

@@ -1,5 +1,5 @@
/* /*
** $Id: lobject.h,v 1.57 2000/03/29 20:19:20 roberto Exp roberto $ ** $Id: lobject.h,v 1.58 2000/03/30 20:55:50 roberto Exp roberto $
** Type definitions for Lua objects ** Type definitions for Lua objects
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@@ -15,8 +15,8 @@
#ifdef DEBUG #ifdef DEBUG
#undef NDEBUG #undef NDEBUG
#include <assert.h> #include <assert.h>
#define LUA_INTERNALERROR(L,s) assert(0) #define LUA_INTERNALERROR(L,s) assert(((void)s,0))
#define LUA_ASSERT(L,c,s) assert(c) #define LUA_ASSERT(L,c,s) assert(((void)s,(c)))
#else #else
#define LUA_INTERNALERROR(L,s) /* empty */ #define LUA_INTERNALERROR(L,s) /* empty */
#define LUA_ASSERT(L,c,s) /* empty */ #define LUA_ASSERT(L,c,s) /* empty */
@@ -24,10 +24,10 @@
#ifdef DEBUG #ifdef DEBUG
/* to avoid warnings and make sure is is really unused */ /* to avoid warnings, and make sure value is really unused */
#define UNUSED(x) (x=0, (void)x) #define UNUSED(x) (x=0, (void)(x))
#else #else
#define UNUSED(x) (void)x /* to avoid warnings */ #define UNUSED(x) ((void)(x)) /* to avoid warnings */
#endif #endif

View File

@@ -1,5 +1,5 @@
/* /*
** $Id: lstate.c,v 1.23 1999/12/21 18:04:41 roberto Exp roberto $ ** $Id: lstate.c,v 1.24 2000/01/13 16:30:47 roberto Exp roberto $
** Global State ** Global State
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@@ -21,11 +21,6 @@
#include "ltm.h" #include "ltm.h"
#ifndef DEFAULT_STACK_SIZE
#define DEFAULT_STACK_SIZE 1024
#endif
lua_State *lua_state = NULL; lua_State *lua_state = NULL;

View File

@@ -1,5 +1,5 @@
/* /*
** $Id: ltable.c,v 1.37 2000/03/27 20:10:21 roberto Exp roberto $ ** $Id: ltable.c,v 1.38 2000/03/29 20:19:20 roberto Exp roberto $
** Lua tables (hash) ** Lua tables (hash)
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@@ -198,7 +198,7 @@ void luaH_set (lua_State *L, Hash *t, const TObject *key, const TObject *val) {
mp->key = *key; mp->key = *key;
mp->val = *val; mp->val = *val;
for (;;) { /* check free places */ for (;;) { /* check free places */
if (ttype(&(t->firstfree)->key) == TAG_NIL) if (ttype(&t->firstfree->key) == TAG_NIL)
return; /* OK; table still has a free place */ return; /* OK; table still has a free place */
else if (t->firstfree == t->node) break; /* cannot decrement from here */ else if (t->firstfree == t->node) break; /* cannot decrement from here */
else (t->firstfree)--; else (t->firstfree)--;