diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2000-03-31 13:28:45 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2000-03-31 13:28:45 -0300 |
commit | 36e1390631a4b89f0a8a3111978780de0d53466c (patch) | |
tree | 21fea050e98d3cf844377c58503ccd15e00a43db | |
parent | 8f0f54ec3835f5d1637ae2720e2b4de6a177574a (diff) | |
download | lua-36e1390631a4b89f0a8a3111978780de0d53466c.tar.gz lua-36e1390631a4b89f0a8a3111978780de0d53466c.tar.bz2 lua-36e1390631a4b89f0a8a3111978780de0d53466c.zip |
details.
-rw-r--r-- | llimits.h | 13 | ||||
-rw-r--r-- | lobject.c | 8 | ||||
-rw-r--r-- | lobject.h | 12 | ||||
-rw-r--r-- | lstate.c | 7 | ||||
-rw-r--r-- | ltable.c | 4 |
5 files changed, 24 insertions, 20 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: llimits.h,v 1.2 2000/03/24 19:49:23 roberto Exp roberto $ | 2 | ** $Id: llimits.h,v 1.3 2000/03/27 20:08:33 roberto Exp roberto $ |
3 | ** Limits, basic types, and some other "instalation-dependent" definitions | 3 | ** Limits, basic types, and some other "instalation-dependent" definitions |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -43,6 +43,13 @@ typedef LUA_NUM_TYPE Number; | |||
43 | #define MINPOWER2 4 /* minimum size for "growing" vectors */ | 43 | #define MINPOWER2 4 /* minimum size for "growing" vectors */ |
44 | 44 | ||
45 | 45 | ||
46 | |||
47 | #ifndef DEFAULT_STACK_SIZE | ||
48 | #define DEFAULT_STACK_SIZE 1024 | ||
49 | #endif | ||
50 | |||
51 | |||
52 | |||
46 | /* | 53 | /* |
47 | ** type for virtual-machine instructions | 54 | ** type for virtual-machine instructions |
48 | ** must be an unsigned with 4 bytes (see details in lopcodes.h) | 55 | ** must be an unsigned with 4 bytes (see details in lopcodes.h) |
@@ -151,7 +158,11 @@ typedef unsigned long Instruction; | |||
151 | 158 | ||
152 | 159 | ||
153 | /* number of list items to accumulate before a SETLIST instruction */ | 160 | /* number of list items to accumulate before a SETLIST instruction */ |
161 | #define LFIELDS_PER_FLUSH 64 | ||
162 | #if LFIELDS_PER_FLUSH>(MAXSTACK/4) | ||
163 | #undef LFIELDS_PER_FLUSH | ||
154 | #define LFIELDS_PER_FLUSH (MAXSTACK/4) | 164 | #define LFIELDS_PER_FLUSH (MAXSTACK/4) |
165 | #endif | ||
155 | 166 | ||
156 | /* number of record items to accumulate before a SETMAP instruction */ | 167 | /* number of record items to accumulate before a SETMAP instruction */ |
157 | /* (each item counts 2 elements on the stack: an index and a value) */ | 168 | /* (each item counts 2 elements on the stack: an index and a value) */ |
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lobject.c,v 1.34 2000/03/27 20:10:21 roberto Exp roberto $ | 2 | ** $Id: lobject.c,v 1.35 2000/03/29 20:19:20 roberto Exp roberto $ |
3 | ** Some generic functions over Lua objects | 3 | ** Some generic functions over Lua objects |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -42,11 +42,9 @@ int luaO_equalval (const TObject *t1, const TObject *t2) { | |||
42 | return avalue(t1) == avalue(t2); | 42 | return avalue(t1) == avalue(t2); |
43 | case TAG_CCLOSURE: case TAG_LCLOSURE: | 43 | case TAG_CCLOSURE: case TAG_LCLOSURE: |
44 | return clvalue(t1) == clvalue(t2); | 44 | return clvalue(t1) == clvalue(t2); |
45 | case TAG_NIL: | ||
46 | return 1; | ||
47 | default: | 45 | default: |
48 | LUA_INTERNALERROR(L, "invalid type"); | 46 | LUA_ASSERT(L, ttype(t1) == TAG_NIL, "invalid type"); |
49 | return 0; /* UNREACHABLE */ | 47 | return 1; /* TAG_NIL */ |
50 | } | 48 | } |
51 | } | 49 | } |
52 | 50 | ||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lobject.h,v 1.57 2000/03/29 20:19:20 roberto Exp roberto $ | 2 | ** $Id: lobject.h,v 1.58 2000/03/30 20:55:50 roberto Exp roberto $ |
3 | ** Type definitions for Lua objects | 3 | ** Type definitions for Lua objects |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -15,8 +15,8 @@ | |||
15 | #ifdef DEBUG | 15 | #ifdef DEBUG |
16 | #undef NDEBUG | 16 | #undef NDEBUG |
17 | #include <assert.h> | 17 | #include <assert.h> |
18 | #define LUA_INTERNALERROR(L,s) assert(0) | 18 | #define LUA_INTERNALERROR(L,s) assert(((void)s,0)) |
19 | #define LUA_ASSERT(L,c,s) assert(c) | 19 | #define LUA_ASSERT(L,c,s) assert(((void)s,(c))) |
20 | #else | 20 | #else |
21 | #define LUA_INTERNALERROR(L,s) /* empty */ | 21 | #define LUA_INTERNALERROR(L,s) /* empty */ |
22 | #define LUA_ASSERT(L,c,s) /* empty */ | 22 | #define LUA_ASSERT(L,c,s) /* empty */ |
@@ -24,10 +24,10 @@ | |||
24 | 24 | ||
25 | 25 | ||
26 | #ifdef DEBUG | 26 | #ifdef DEBUG |
27 | /* to avoid warnings and make sure is is really unused */ | 27 | /* to avoid warnings, and make sure value is really unused */ |
28 | #define UNUSED(x) (x=0, (void)x) | 28 | #define UNUSED(x) (x=0, (void)(x)) |
29 | #else | 29 | #else |
30 | #define UNUSED(x) (void)x /* to avoid warnings */ | 30 | #define UNUSED(x) ((void)(x)) /* to avoid warnings */ |
31 | #endif | 31 | #endif |
32 | 32 | ||
33 | 33 | ||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lstate.c,v 1.23 1999/12/21 18:04:41 roberto Exp roberto $ | 2 | ** $Id: lstate.c,v 1.24 2000/01/13 16:30:47 roberto Exp roberto $ |
3 | ** Global State | 3 | ** Global State |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -21,11 +21,6 @@ | |||
21 | #include "ltm.h" | 21 | #include "ltm.h" |
22 | 22 | ||
23 | 23 | ||
24 | #ifndef DEFAULT_STACK_SIZE | ||
25 | #define DEFAULT_STACK_SIZE 1024 | ||
26 | #endif | ||
27 | |||
28 | |||
29 | lua_State *lua_state = NULL; | 24 | lua_State *lua_state = NULL; |
30 | 25 | ||
31 | 26 | ||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ltable.c,v 1.37 2000/03/27 20:10:21 roberto Exp roberto $ | 2 | ** $Id: ltable.c,v 1.38 2000/03/29 20:19:20 roberto Exp roberto $ |
3 | ** Lua tables (hash) | 3 | ** Lua tables (hash) |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -198,7 +198,7 @@ void luaH_set (lua_State *L, Hash *t, const TObject *key, const TObject *val) { | |||
198 | mp->key = *key; | 198 | mp->key = *key; |
199 | mp->val = *val; | 199 | mp->val = *val; |
200 | for (;;) { /* check free places */ | 200 | for (;;) { /* check free places */ |
201 | if (ttype(&(t->firstfree)->key) == TAG_NIL) | 201 | if (ttype(&t->firstfree->key) == TAG_NIL) |
202 | return; /* OK; table still has a free place */ | 202 | return; /* OK; table still has a free place */ |
203 | else if (t->firstfree == t->node) break; /* cannot decrement from here */ | 203 | else if (t->firstfree == t->node) break; /* cannot decrement from here */ |
204 | else (t->firstfree)--; | 204 | else (t->firstfree)--; |