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
** See Copyright Notice in lua.h
*/
@ -43,6 +43,13 @@ typedef LUA_NUM_TYPE Number;
#define MINPOWER2 4 /* minimum size for "growing" vectors */
#ifndef DEFAULT_STACK_SIZE
#define DEFAULT_STACK_SIZE 1024
#endif
/*
** type for virtual-machine instructions
** 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 */
#define LFIELDS_PER_FLUSH 64
#if LFIELDS_PER_FLUSH>(MAXSTACK/4)
#undef LFIELDS_PER_FLUSH
#define LFIELDS_PER_FLUSH (MAXSTACK/4)
#endif
/* number of record items to accumulate before a SETMAP instruction */
/* (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
** See Copyright Notice in lua.h
*/
@ -42,11 +42,9 @@ int luaO_equalval (const TObject *t1, const TObject *t2) {
return avalue(t1) == avalue(t2);
case TAG_CCLOSURE: case TAG_LCLOSURE:
return clvalue(t1) == clvalue(t2);
case TAG_NIL:
return 1;
default:
LUA_INTERNALERROR(L, "invalid type");
return 0; /* UNREACHABLE */
LUA_ASSERT(L, ttype(t1) == TAG_NIL, "invalid type");
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
** See Copyright Notice in lua.h
*/
@ -15,8 +15,8 @@
#ifdef DEBUG
#undef NDEBUG
#include <assert.h>
#define LUA_INTERNALERROR(L,s) assert(0)
#define LUA_ASSERT(L,c,s) assert(c)
#define LUA_INTERNALERROR(L,s) assert(((void)s,0))
#define LUA_ASSERT(L,c,s) assert(((void)s,(c)))
#else
#define LUA_INTERNALERROR(L,s) /* empty */
#define LUA_ASSERT(L,c,s) /* empty */
@ -24,10 +24,10 @@
#ifdef DEBUG
/* to avoid warnings and make sure is is really unused */
#define UNUSED(x) (x=0, (void)x)
/* to avoid warnings, and make sure value is really unused */
#define UNUSED(x) (x=0, (void)(x))
#else
#define UNUSED(x) (void)x /* to avoid warnings */
#define UNUSED(x) ((void)(x)) /* to avoid warnings */
#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
** See Copyright Notice in lua.h
*/
@ -21,11 +21,6 @@
#include "ltm.h"
#ifndef DEFAULT_STACK_SIZE
#define DEFAULT_STACK_SIZE 1024
#endif
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)
** 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->val = *val;
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 */
else if (t->firstfree == t->node) break; /* cannot decrement from here */
else (t->firstfree)--;