mirror of https://github.com/rusefi/lua.git
'lua_getsubscript' and 'lua_storesubscript' now run unprotected (to improve efficiency)
This commit is contained in:
parent
dc97a07e19
commit
b8e76d9b5c
20
opcode.c
20
opcode.c
|
@ -3,7 +3,7 @@
|
||||||
** TecCGraf - PUC-Rio
|
** TecCGraf - PUC-Rio
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char *rcs_opcode="$Id: opcode.c,v 3.27 1994/12/16 16:08:34 roberto Exp roberto $";
|
char *rcs_opcode="$Id: opcode.c,v 3.28 1994/12/20 21:20:36 roberto Exp celes $";
|
||||||
|
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -441,16 +441,10 @@ lua_Object lua_setfallback (char *name, lua_CFunction fallback)
|
||||||
*/
|
*/
|
||||||
lua_Object lua_getsubscript (void)
|
lua_Object lua_getsubscript (void)
|
||||||
{
|
{
|
||||||
static Byte code[2] = {PUSHINDEXED, RETCODE0};
|
|
||||||
int status;
|
|
||||||
Object func;
|
|
||||||
tag(&func) = LUA_T_FUNCTION; bvalue(&func) = code;
|
|
||||||
adjustC(2);
|
adjustC(2);
|
||||||
status = do_protectedrun(&func, 1);
|
pushsubscript();
|
||||||
if (status == 0)
|
CBase++; /* incorporate object in the stack */
|
||||||
return (Ref(top-1));
|
return (Ref(top-1));
|
||||||
else
|
|
||||||
return LUA_NOOBJECT;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -487,11 +481,9 @@ void lua_endblock (void)
|
||||||
*/
|
*/
|
||||||
int lua_storesubscript (void)
|
int lua_storesubscript (void)
|
||||||
{
|
{
|
||||||
static Byte code[2] = {STOREINDEXED0, RETCODE0};
|
|
||||||
Object func;
|
|
||||||
tag(&func) = LUA_T_FUNCTION; bvalue(&func) = code;
|
|
||||||
adjustC(3);
|
adjustC(3);
|
||||||
return(do_protectedrun(&func, 0));
|
storesubscript();
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue