aboutsummaryrefslogtreecommitdiff
path: root/lvm.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-06-20 17:41:46 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-06-20 17:41:46 -0300
commit3941af53adee868e2cccfb9b85783aba9ac311c1 (patch)
tree8b6295c8aefacf286c13c7d78b1d2a91421ce2b1 /lvm.c
parent5610fdd776edd0de71864f79d50b4526df861d75 (diff)
downloadlua-3941af53adee868e2cccfb9b85783aba9ac311c1.tar.gz
lua-3941af53adee868e2cccfb9b85783aba9ac311c1.tar.bz2
lua-3941af53adee868e2cccfb9b85783aba9ac311c1.zip
first implementation of independent global table per function
Diffstat (limited to 'lvm.c')
-rw-r--r--lvm.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lvm.c b/lvm.c
index 501c22be..9aeab5b4 100644
--- a/lvm.c
+++ b/lvm.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lvm.c,v 1.238 2002/06/13 13:39:55 roberto Exp roberto $ 2** $Id: lvm.c,v 1.239 2002/06/14 17:21:32 roberto Exp roberto $
3** Lua virtual machine 3** Lua virtual machine
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -401,8 +401,8 @@ StkId luaV_execute (lua_State *L) {
401 break; 401 break;
402 } 402 }
403 case OP_GETGLOBAL: { 403 case OP_GETGLOBAL: {
404 lua_assert(ttype(KBx(i)) == LUA_TSTRING); 404 lua_assert(ttype(KBx(i)) == LUA_TSTRING && ttype(&cl->g) == LUA_TTABLE);
405 luaV_gettable(L, gt(L), KBx(i), ra); 405 luaV_gettable(L, &cl->g, KBx(i), ra);
406 break; 406 break;
407 } 407 }
408 case OP_GETTABLE: { 408 case OP_GETTABLE: {
@@ -410,8 +410,8 @@ StkId luaV_execute (lua_State *L) {
410 break; 410 break;
411 } 411 }
412 case OP_SETGLOBAL: { 412 case OP_SETGLOBAL: {
413 lua_assert(ttype(KBx(i)) == LUA_TSTRING); 413 lua_assert(ttype(KBx(i)) == LUA_TSTRING && ttype(&cl->g) == LUA_TTABLE);
414 luaV_settable(L, gt(L), KBx(i), ra); 414 luaV_settable(L, &cl->g, KBx(i), ra);
415 break; 415 break;
416 } 416 }
417 case OP_SETUPVAL: { 417 case OP_SETUPVAL: {
@@ -642,7 +642,7 @@ StkId luaV_execute (lua_State *L) {
642 int nup, j; 642 int nup, j;
643 p = cl->p->p[GETARG_Bx(i)]; 643 p = cl->p->p[GETARG_Bx(i)];
644 nup = p->nupvalues; 644 nup = p->nupvalues;
645 ncl = luaF_newLclosure(L, nup); 645 ncl = luaF_newLclosure(L, nup, &cl->g);
646 ncl->l.p = p; 646 ncl->l.p = p;
647 for (j=0; j<nup; j++, pc++) { 647 for (j=0; j<nup; j++, pc++) {
648 if (GET_OPCODE(*pc) == OP_GETUPVAL) 648 if (GET_OPCODE(*pc) == OP_GETUPVAL)