"Object" renamed to "TObject" (Tagged Object), to avoid conflicts with

pre-defined names in some C compilers.
This commit is contained in:
Roberto Ierusalimschy
1997-03-31 11:02:58 -03:00
parent 264f8c5e7b
commit ad5574c4c9
10 changed files with 117 additions and 117 deletions

118
opcode.c
View File

@@ -3,7 +3,7 @@
** TecCGraf - PUC-Rio
*/
char *rcs_opcode="$Id: opcode.c,v 3.85 1997/03/19 19:41:10 roberto Exp roberto $";
char *rcs_opcode="$Id: opcode.c,v 3.86 1997/03/20 19:20:43 roberto Exp roberto $";
#include <setjmp.h>
#include <stdio.h>
@@ -32,14 +32,14 @@ char *rcs_opcode="$Id: opcode.c,v 3.85 1997/03/19 19:41:10 roberto Exp roberto $
typedef int StkId; /* index to stack elements */
static Object initial_stack;
static TObject initial_stack;
static Object *stackLimit = &initial_stack+1;
static Object *stack = &initial_stack;
static Object *top = &initial_stack;
static TObject *stackLimit = &initial_stack+1;
static TObject *stack = &initial_stack;
static TObject *top = &initial_stack;
/* macros to convert from lua_Object to (Object *) and back */
/* macros to convert from lua_Object to (TObject *) and back */
#define Address(lo) ((lo)+stack-1)
#define Ref(st) ((st)-stack+1)
@@ -72,7 +72,7 @@ static void do_call (StkId base, int nResults);
Object *luaI_Address (lua_Object o)
TObject *luaI_Address (lua_Object o)
{
return Address(o);
}
@@ -84,7 +84,7 @@ Object *luaI_Address (lua_Object o)
static void lua_initstack (void)
{
Long maxstack = STACK_SIZE;
stack = newvector(maxstack, Object);
stack = newvector(maxstack, TObject);
stackLimit = stack+maxstack;
top = stack;
*(top++) = initial_stack;
@@ -105,7 +105,7 @@ static void growstack (void)
static int limit = STACK_LIMIT;
StkId t = top-stack;
Long stacksize = stackLimit - stack;
stacksize = growvector(&stack, stacksize, Object, stackEM, limit+100);
stacksize = growvector(&stack, stacksize, TObject, stackEM, limit+100);
stackLimit = stack+stacksize;
top = stack + t;
if (stacksize >= limit)
@@ -134,7 +134,7 @@ static char *lua_strconc (char *l, char *r)
** Convert, if possible, to a number object.
** Return 0 if success, not 0 if error.
*/
static int lua_tonumber (Object *obj)
static int lua_tonumber (TObject *obj)
{
float t;
char c;
@@ -155,7 +155,7 @@ static int lua_tonumber (Object *obj)
** Convert, if possible, to a string ttype
** Return 0 in success or not 0 on error.
*/
static int lua_tostring (Object *obj)
static int lua_tostring (TObject *obj)
{
if (ttype(obj) != LUA_T_NUMBER)
return 1;
@@ -179,7 +179,7 @@ static int lua_tostring (Object *obj)
*/
static void adjust_top (StkId newtop)
{
Object *nt;
TObject *nt;
lua_checkstack(stack+newtop);
nt = stack+newtop; /* warning: previous call may change stack */
while (top < nt) ttype(top++) = LUA_T_NIL;
@@ -228,7 +228,7 @@ static void callHook (StkId base, lua_Type type, int isreturn)
(*lua_callhook)(LUA_NOOBJECT, "(return)", 0);
else
{
Object *f = stack+base-1;
TObject *f = stack+base-1;
if (type == LUA_T_MARK)
(*lua_callhook)(Ref(f), f->value.tf->fileName, f->value.tf->lineDefined);
else
@@ -261,7 +261,7 @@ static StkId callC (lua_CFunction func, StkId base)
return firstResult;
}
static void callIM (Object *f, int nParams, int nResults)
static void callIM (TObject *f, int nParams, int nResults)
{
open_stack(nParams);
*(top-nParams-1) = *f;
@@ -278,7 +278,7 @@ static void callIM (Object *f, int nParams, int nResults)
static void do_call (StkId base, int nResults)
{
StkId firstResult;
Object *func = stack+base-1;
TObject *func = stack+base-1;
int i;
if (ttype(func) == LUA_T_CFUNCTION) {
ttype(func) = LUA_T_CMARK;
@@ -290,7 +290,7 @@ static void do_call (StkId base, int nResults)
}
else { /* func is not a function */
/* Check the fallback for invalid functions */
Object *im = luaI_getimbyObj(func, IM_FUNCTION);
TObject *im = luaI_getimbyObj(func, IM_FUNCTION);
if (ttype(im) == LUA_T_NIL)
lua_error("call expression not a function");
open_stack((top-stack)-(base-1));
@@ -317,9 +317,9 @@ static void do_call (StkId base, int nResults)
static void pushsubscript (void)
{
int tg = luaI_tag(top-2);
Object *im = luaI_getim(tg, IM_GETTABLE);
TObject *im = luaI_getim(tg, IM_GETTABLE);
if (ttype(top-2) == LUA_T_ARRAY && ttype(im) == LUA_T_NIL) {
Object *h = lua_hashget(avalue(top-2), top-1);
TObject *h = lua_hashget(avalue(top-2), top-1);
if (h != NULL && ttype(h) != LUA_T_NIL) {
--top;
*(top-1) = *h;
@@ -346,7 +346,7 @@ lua_Object lua_basicindex (void)
if (ttype(top-2) != LUA_T_ARRAY)
lua_error("indexed expression not a table in basic indexing");
else {
Object *h = lua_hashget(avalue(top-2), top-1);
TObject *h = lua_hashget(avalue(top-2), top-1);
--top;
if (h != NULL)
*(top-1) = *h;
@@ -364,11 +364,11 @@ lua_Object lua_basicindex (void)
** mode = 1: normal store (with internal methods)
** mode = 2: "deep stack" store (with internal methods)
*/
static void storesubscript (Object *t, int mode)
static void storesubscript (TObject *t, int mode)
{
Object *im = (mode == 0) ? NULL : luaI_getimbyObj(t, IM_SETTABLE);
TObject *im = (mode == 0) ? NULL : luaI_getimbyObj(t, IM_SETTABLE);
if (ttype(t) == LUA_T_ARRAY && (im == NULL || ttype(im) == LUA_T_NIL)) {
Object *h = lua_hashdefine(avalue(t), t+1);
TObject *h = lua_hashdefine(avalue(t), t+1);
*h = *(top-1);
top -= (mode == 2) ? 1 : 3;
}
@@ -394,7 +394,7 @@ static void getglobal (Word n)
*top = lua_table[n].object;
incr_top;
if (ttype(top-1) == LUA_T_NIL) { /* check i.m. */
Object *im = luaI_getgim(GIM_GETGLOBAL);
TObject *im = luaI_getgim(GIM_GETGLOBAL);
if (ttype(im) != LUA_T_NIL) {
ttype(top-1) = LUA_T_STRING;
tsvalue(top-1) = lua_table[n].varname;
@@ -406,9 +406,9 @@ static void getglobal (Word n)
/*
** Traverse all objects on stack
*/
void lua_travstack (int (*fn)(Object *))
void lua_travstack (int (*fn)(TObject *))
{
Object *o;
TObject *o;
for (o = top-1; o >= stack; o--)
fn (o);
}
@@ -420,7 +420,7 @@ void lua_travstack (int (*fn)(Object *))
static void lua_message (char *s)
{
Object *im = luaI_getgim(GIM_ERROR);
TObject *im = luaI_getgim(GIM_ERROR);
if (ttype(im) == LUA_T_NIL)
fprintf(stderr, "lua: %s\n", s);
else {
@@ -458,14 +458,14 @@ lua_Function lua_stackedfunction (int level)
int lua_currentline (lua_Function func)
{
Object *f = Address(func);
TObject *f = Address(func);
return (f+1 < top && (f+1)->ttype == LUA_T_LINE) ? (f+1)->value.i : -1;
}
lua_Object lua_getlocal (lua_Function func, int local_number, char **name)
{
Object *f = luaI_Address(func);
TObject *f = luaI_Address(func);
*name = luaI_getlocalname(f->value.tf, local_number, lua_currentline(func));
if (*name)
{
@@ -479,7 +479,7 @@ lua_Object lua_getlocal (lua_Function func, int local_number, char **name)
int lua_setlocal (lua_Function func, int local_number)
{
Object *f = Address(func);
TObject *f = Address(func);
char *name = luaI_getlocalname(f->value.tf, local_number, lua_currentline(func));
adjustC(1);
--top;
@@ -843,7 +843,7 @@ lua_CFunction lua_getcfunction (lua_Object object)
lua_Object lua_getref (int ref)
{
Object *o = luaI_getref(ref);
TObject *o = luaI_getref(ref);
if (o == NULL)
return LUA_NOOBJECT;
adjustC(0);
@@ -855,7 +855,7 @@ lua_Object lua_getref (int ref)
void lua_pushref (int ref)
{
Object *o = luaI_getref(ref);
TObject *o = luaI_getref(ref);
if (o == NULL)
lua_error("access to invalid (possibly garbage collected) reference");
luaI_pushobject(o);
@@ -970,7 +970,7 @@ void lua_pushusertag (void *u, int tag)
/*
** Push an object on the stack.
*/
void luaI_pushobject (Object *o)
void luaI_pushobject (TObject *o)
{
*top = *o;
incr_top;
@@ -995,9 +995,9 @@ int lua_tag (lua_Object o)
}
void luaI_gcIM (Object *o)
void luaI_gcIM (TObject *o)
{
Object *im = luaI_getimbyObj(o, IM_GC);
TObject *im = luaI_getimbyObj(o, IM_GC);
if (ttype(im) != LUA_T_NIL) {
*top = *o;
incr_top;
@@ -1008,7 +1008,7 @@ void luaI_gcIM (Object *o)
static void call_arith (IMS event)
{
Object *im = luaI_getimbyObj(top-2, event); /* try first operand */
TObject *im = luaI_getimbyObj(top-2, event); /* try first operand */
if (ttype(im) == LUA_T_NIL) {
im = luaI_getimbyObj(top-1, event); /* try second operand */
if (ttype(im) == LUA_T_NIL) {
@@ -1021,17 +1021,17 @@ static void call_arith (IMS event)
callIM(im, 3, 1);
}
static void concim (Object *o)
static void concim (TObject *o)
{
Object *im = luaI_getimbyObj(o, IM_CONCAT);
TObject *im = luaI_getimbyObj(o, IM_CONCAT);
if (ttype(im) == LUA_T_NIL)
lua_error("unexpected type at conversion to string");
callIM(im, 2, 1);
}
static void ordim (Object *o, IMS event)
static void ordim (TObject *o, IMS event)
{
Object *im = luaI_getimbyObj(o, event);
TObject *im = luaI_getimbyObj(o, event);
if (ttype(im) == LUA_T_NIL)
lua_error("unexpected type at comparison");
lua_pushstring(luaI_eventname[event]);
@@ -1041,8 +1041,8 @@ static void ordim (Object *o, IMS event)
static void comparison (lua_Type ttype_less, lua_Type ttype_equal,
lua_Type ttype_great, IMS op)
{
Object *l = top-2;
Object *r = top-1;
TObject *l = top-2;
TObject *r = top-1;
int result;
if (ttype(l) == LUA_T_NUMBER && ttype(r) == LUA_T_NUMBER)
result = (nvalue(l) < nvalue(r)) ? -1 : (nvalue(l) == nvalue(r)) ? 0 : 1;
@@ -1065,21 +1065,21 @@ static void comparison (lua_Type ttype_less, lua_Type ttype_equal,
static void adjust_varargs (StkId first_extra_arg)
{
Object arg;
Object *firstelem = stack+first_extra_arg;
TObject arg;
TObject *firstelem = stack+first_extra_arg;
int nvararg = top-firstelem;
int i;
if (nvararg < 0) nvararg = 0;
avalue(&arg) = lua_createarray(nvararg+1); /* +1 for field 'n' */
ttype(&arg) = LUA_T_ARRAY;
for (i=0; i<nvararg; i++) {
Object index;
TObject index;
ttype(&index) = LUA_T_NUMBER;
nvalue(&index) = i+1;
*(lua_hashdefine(avalue(&arg), &index)) = *(firstelem+i);
}
/* store counter in field "n" */ {
Object index, extra;
TObject index, extra;
ttype(&index) = LUA_T_STRING;
tsvalue(&index) = lua_createstring("n");
ttype(&extra) = LUA_T_NUMBER;
@@ -1177,7 +1177,7 @@ static StkId lua_execute (Byte *pc, StkId base)
case PUSHSELF:
{
Object receiver = *(top-1);
TObject receiver = *(top-1);
Word w;
get_word(w,pc);
ttype(top) = LUA_T_STRING; tsvalue(top) = lua_constant[w];
@@ -1219,7 +1219,7 @@ static StkId lua_execute (Byte *pc, StkId base)
case STORELIST:
{
int m, n;
Object *arr;
TObject *arr;
if (opcode == STORELIST0) m = 0;
else m = *(pc++) * FIELDS_PER_FLUSH;
n = *(pc++);
@@ -1237,7 +1237,7 @@ static StkId lua_execute (Byte *pc, StkId base)
case STORERECORD: /* opcode obsolete: supersed by STOREMAP */
{
int n = *(pc++);
Object *arr = top-n-1;
TObject *arr = top-n-1;
while (n)
{
Word w;
@@ -1252,7 +1252,7 @@ static StkId lua_execute (Byte *pc, StkId base)
case STOREMAP: {
int n = *(pc++);
Object *arr = top-(2*n)-1;
TObject *arr = top-(2*n)-1;
while (n--) {
*(lua_hashdefine (avalue(arr), top-2)) = *(top-1);
top-=2;
@@ -1309,8 +1309,8 @@ static StkId lua_execute (Byte *pc, StkId base)
case ADDOP:
{
Object *l = top-2;
Object *r = top-1;
TObject *l = top-2;
TObject *r = top-1;
if (tonumber(r) || tonumber(l))
call_arith(IM_ADD);
else
@@ -1323,8 +1323,8 @@ static StkId lua_execute (Byte *pc, StkId base)
case SUBOP:
{
Object *l = top-2;
Object *r = top-1;
TObject *l = top-2;
TObject *r = top-1;
if (tonumber(r) || tonumber(l))
call_arith(IM_SUB);
else
@@ -1337,8 +1337,8 @@ static StkId lua_execute (Byte *pc, StkId base)
case MULTOP:
{
Object *l = top-2;
Object *r = top-1;
TObject *l = top-2;
TObject *r = top-1;
if (tonumber(r) || tonumber(l))
call_arith(IM_MUL);
else
@@ -1351,8 +1351,8 @@ static StkId lua_execute (Byte *pc, StkId base)
case DIVOP:
{
Object *l = top-2;
Object *r = top-1;
TObject *l = top-2;
TObject *r = top-1;
if (tonumber(r) || tonumber(l))
call_arith(IM_DIV);
else
@@ -1368,8 +1368,8 @@ static StkId lua_execute (Byte *pc, StkId base)
break;
case CONCOP: {
Object *l = top-2;
Object *r = top-1;
TObject *l = top-2;
TObject *r = top-1;
if (tostring(l)) /* first argument is not a string */
concim(l);
else if (tostring(r)) /* second argument is not a string */