diff options
author | Waldemar Celes <celes@tecgraf.puc-rio.br> | 1994-04-20 19:07:57 -0300 |
---|---|---|
committer | Waldemar Celes <celes@tecgraf.puc-rio.br> | 1994-04-20 19:07:57 -0300 |
commit | 44521b21e542831a95de0c63271cd38d1cd4d394 (patch) | |
tree | 0fd861510cd5c0a1880410442c642c2388a02e57 /opcode.c | |
parent | f8fb7b39478c3468192c69fcb2154f9022dbab64 (diff) | |
download | lua-44521b21e542831a95de0c63271cd38d1cd4d394.tar.gz lua-44521b21e542831a95de0c63271cd38d1cd4d394.tar.bz2 lua-44521b21e542831a95de0c63271cd38d1cd4d394.zip |
Implementacao da nova estrategia para armazenar os arrays
em lista encadeada.
Diffstat (limited to 'opcode.c')
-rw-r--r-- | opcode.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -3,7 +3,7 @@ | |||
3 | ** TecCGraf - PUC-Rio | 3 | ** TecCGraf - PUC-Rio |
4 | */ | 4 | */ |
5 | 5 | ||
6 | char *rcs_opcode="$Id: opcode.c,v 1.3 1994/03/28 15:14:02 celes Exp celes $"; | 6 | char *rcs_opcode="$Id: opcode.c,v 1.4 1994/04/13 21:37:20 celes Exp celes $"; |
7 | 7 | ||
8 | #include <stdio.h> | 8 | #include <stdio.h> |
9 | #include <stdlib.h> | 9 | #include <stdlib.h> |
@@ -319,7 +319,7 @@ int lua_execute (Byte *pc) | |||
319 | if (tonumber(top-1)) return 1; | 319 | if (tonumber(top-1)) return 1; |
320 | if (nvalue(top-1) <= 0) nvalue(top-1) = 101; | 320 | if (nvalue(top-1) <= 0) nvalue(top-1) = 101; |
321 | } | 321 | } |
322 | avalue(top-1) = lua_createarray(lua_hashcreate(nvalue(top-1))); | 322 | avalue(top-1) = lua_createarray(nvalue(top-1)); |
323 | if (avalue(top-1) == NULL) | 323 | if (avalue(top-1) == NULL) |
324 | return 1; | 324 | return 1; |
325 | tag(top-1) = T_ARRAY; | 325 | tag(top-1) = T_ARRAY; |
@@ -603,13 +603,13 @@ int lua_execute (Byte *pc) | |||
603 | 603 | ||
604 | 604 | ||
605 | /* | 605 | /* |
606 | ** Mark all strings and arrays used by any object stored at stack. | 606 | ** Traverse all objects on stack |
607 | */ | 607 | */ |
608 | void lua_markstack (void) | 608 | void lua_travstack (void (*fn)(Object *)) |
609 | { | 609 | { |
610 | Object *o; | 610 | Object *o; |
611 | for (o = top-1; o >= stack; o--) | 611 | for (o = top-1; o >= stack; o--) |
612 | lua_markobject (o); | 612 | fn (o); |
613 | } | 613 | } |
614 | 614 | ||
615 | /* | 615 | /* |