Updated Lua host compiler to 5.1.4
SVN-Revision: 12384
This commit is contained in:
parent
4b7249183c
commit
4f18ba9249
5 changed files with 565 additions and 200 deletions
|
@ -9,14 +9,14 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua
|
||||
PKG_VERSION:=5.1.3
|
||||
PKG_VERSION:=5.1.4
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://www.lua.org/ftp/ \
|
||||
http://ftp.gwdg.de/pub/languages/lua/ \
|
||||
http://mirrors.dotsrc.org/lua/ \
|
||||
http://www.tecgraf.puc-rio.br/lua/ftp/
|
||||
PKG_MD5SUM:=a70a8dfaa150e047866dc01a46272599
|
||||
PKG_MD5SUM:=d0870f2de55d59c1c8419f36e8fac150
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/Makefile lua-5.1.3-patched/src/Makefile
|
||||
--- ../lua-5.1.3/src/Makefile 2008-01-19 21:37:58.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/Makefile 2008-03-26 13:05:24.000000000 +0200
|
||||
Index: lua-5.1.4/src/Makefile
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/Makefile 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/Makefile 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -25,7 +25,7 @@
|
||||
LUA_A= liblua.a
|
||||
CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
|
||||
|
@ -37,9 +38,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/Makefile lua-5.1.3
|
|||
+print.c: lnum.h
|
||||
+
|
||||
# (end of Makefile)
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-patched/src/lapi.c
|
||||
--- ../lua-5.1.3/src/lapi.c 2008-01-03 17:20:39.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lapi.c 2008-03-19 09:52:15.000000000 +0200
|
||||
Index: lua-5.1.4/src/lapi.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lapi.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lapi.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -28,7 +28,7 @@
|
||||
#include "ltm.h"
|
||||
#include "lundump.h"
|
||||
|
@ -49,7 +51,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
|
||||
|
||||
const char lua_ident[] =
|
||||
@@ -242,12 +242,13 @@
|
||||
@@ -241,12 +241,13 @@
|
||||
|
||||
LUA_API int lua_type (lua_State *L, int idx) {
|
||||
StkId o = index2adr(L, idx);
|
||||
|
@ -64,7 +66,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
return (t == LUA_TNONE) ? "no value" : luaT_typenames[t];
|
||||
}
|
||||
|
||||
@@ -265,6 +266,14 @@
|
||||
@@ -264,6 +265,14 @@
|
||||
}
|
||||
|
||||
|
||||
|
@ -79,7 +81,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
LUA_API int lua_isstring (lua_State *L, int idx) {
|
||||
int t = lua_type(L, idx);
|
||||
return (t == LUA_TSTRING || t == LUA_TNUMBER);
|
||||
@@ -310,31 +319,66 @@
|
||||
@@ -309,31 +318,66 @@
|
||||
}
|
||||
|
||||
|
||||
|
@ -156,7 +158,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
LUA_API int lua_toboolean (lua_State *L, int idx) {
|
||||
const TValue *o = index2adr(L, idx);
|
||||
return !l_isfalse(o);
|
||||
@@ -365,6 +409,7 @@
|
||||
@@ -364,6 +408,7 @@
|
||||
case LUA_TSTRING: return tsvalue(o)->len;
|
||||
case LUA_TUSERDATA: return uvalue(o)->len;
|
||||
case LUA_TTABLE: return luaH_getn(hvalue(o));
|
||||
|
@ -164,7 +166,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
case LUA_TNUMBER: {
|
||||
size_t l;
|
||||
lua_lock(L); /* `luaV_tostring' may create a new string */
|
||||
@@ -427,6 +472,8 @@
|
||||
@@ -426,6 +471,8 @@
|
||||
}
|
||||
|
||||
|
||||
|
@ -173,7 +175,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
LUA_API void lua_pushnumber (lua_State *L, lua_Number n) {
|
||||
lua_lock(L);
|
||||
setnvalue(L->top, n);
|
||||
@@ -435,12 +482,22 @@
|
||||
@@ -434,12 +481,22 @@
|
||||
}
|
||||
|
||||
|
||||
|
@ -198,7 +200,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
|
||||
|
||||
LUA_API void lua_pushlstring (lua_State *L, const char *s, size_t len) {
|
||||
@@ -570,7 +627,7 @@
|
||||
@@ -569,7 +626,7 @@
|
||||
lua_lock(L);
|
||||
o = index2adr(L, idx);
|
||||
api_check(L, ttistable(o));
|
||||
|
@ -207,7 +209,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
api_incr_top(L);
|
||||
lua_unlock(L);
|
||||
}
|
||||
@@ -598,6 +655,9 @@
|
||||
@@ -597,6 +654,9 @@
|
||||
case LUA_TUSERDATA:
|
||||
mt = uvalue(obj)->metatable;
|
||||
break;
|
||||
|
@ -217,7 +219,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
default:
|
||||
mt = G(L)->mt[ttype(obj)];
|
||||
break;
|
||||
@@ -688,7 +748,7 @@
|
||||
@@ -687,7 +747,7 @@
|
||||
api_checknelems(L, 1);
|
||||
o = index2adr(L, idx);
|
||||
api_check(L, ttistable(o));
|
||||
|
@ -226,7 +228,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
luaC_barriert(L, hvalue(o), L->top-1);
|
||||
L->top--;
|
||||
lua_unlock(L);
|
||||
@@ -722,7 +782,7 @@
|
||||
@@ -721,7 +781,7 @@
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
|
@ -235,7 +237,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
break;
|
||||
}
|
||||
}
|
||||
@@ -1083,3 +1143,32 @@
|
||||
@@ -1085,3 +1145,32 @@
|
||||
return name;
|
||||
}
|
||||
|
||||
|
@ -268,9 +270,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.c lua-5.1.3-p
|
|||
+ else lua_pushnumber( L, nvalue_fast(o) );
|
||||
+ return 1;
|
||||
+}
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.h lua-5.1.3-patched/src/lapi.h
|
||||
--- ../lua-5.1.3/src/lapi.h 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lapi.h 2008-03-03 12:47:53.000000000 +0200
|
||||
Index: lua-5.1.4/src/lapi.h
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lapi.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lapi.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -13,4 +13,6 @@
|
||||
|
||||
LUAI_FUNC void luaA_pushobject (lua_State *L, const TValue *o);
|
||||
|
@ -278,10 +281,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lapi.h lua-5.1.3-p
|
|||
+int lua_pushvalue_as_number (lua_State *L, int idx);
|
||||
+
|
||||
#endif
|
||||
Binary files ../lua-5.1.3/src/lapi.o and lua-5.1.3-patched/src/lapi.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lauxlib.c lua-5.1.3-patched/src/lauxlib.c
|
||||
--- ../lua-5.1.3/src/lauxlib.c 2008-01-21 15:20:51.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lauxlib.c 2008-03-19 09:51:27.000000000 +0200
|
||||
Index: lua-5.1.4/src/lauxlib.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lauxlib.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lauxlib.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "lua.h"
|
||||
|
||||
|
@ -328,9 +331,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lauxlib.c lua-5.1.
|
|||
LUALIB_API int luaL_getmetafield (lua_State *L, int obj, const char *event) {
|
||||
if (!lua_getmetatable(L, obj)) /* no metatable? */
|
||||
return 0;
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lauxlib.h lua-5.1.3-patched/src/lauxlib.h
|
||||
--- ../lua-5.1.3/src/lauxlib.h 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lauxlib.h 2008-03-12 23:15:22.000000000 +0200
|
||||
Index: lua-5.1.4/src/lauxlib.h
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lauxlib.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lauxlib.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -57,6 +57,12 @@
|
||||
LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int numArg);
|
||||
LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int nArg,
|
||||
|
@ -344,10 +348,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lauxlib.h lua-5.1.
|
|||
|
||||
LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg);
|
||||
LUALIB_API void (luaL_checktype) (lua_State *L, int narg, int t);
|
||||
Binary files ../lua-5.1.3/src/lauxlib.o and lua-5.1.3-patched/src/lauxlib.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lbaselib.c lua-5.1.3-patched/src/lbaselib.c
|
||||
--- ../lua-5.1.3/src/lbaselib.c 2008-01-20 15:53:22.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lbaselib.c 2008-03-13 10:42:50.000000000 +0200
|
||||
Index: lua-5.1.4/src/lbaselib.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lbaselib.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lbaselib.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -18,7 +18,9 @@
|
||||
|
||||
#include "lauxlib.h"
|
||||
|
@ -408,7 +412,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lbaselib.c lua-5.1
|
|||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -629,6 +636,8 @@
|
||||
@@ -631,6 +638,8 @@
|
||||
luaL_register(L, "_G", base_funcs);
|
||||
lua_pushliteral(L, LUA_VERSION);
|
||||
lua_setglobal(L, "_VERSION"); /* set global _VERSION */
|
||||
|
@ -417,10 +421,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lbaselib.c lua-5.1
|
|||
/* `ipairs' and `pairs' need auxliliary functions as upvalues */
|
||||
auxopen(L, "ipairs", luaB_ipairs, ipairsaux);
|
||||
auxopen(L, "pairs", luaB_pairs, luaB_next);
|
||||
Binary files ../lua-5.1.3/src/lbaselib.o and lua-5.1.3-patched/src/lbaselib.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lcode.c lua-5.1.3-patched/src/lcode.c
|
||||
--- ../lua-5.1.3/src/lcode.c 2007-12-28 17:32:23.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lcode.c 2008-03-19 10:02:51.000000000 +0200
|
||||
Index: lua-5.1.4/src/lcode.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lcode.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lcode.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -22,13 +22,18 @@
|
||||
#include "lopcodes.h"
|
||||
#include "lparser.h"
|
||||
|
@ -634,9 +638,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lcode.c lua-5.1.3-
|
|||
switch (op) {
|
||||
case OPR_MINUS: {
|
||||
if (!isnumeral(e))
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lcode.h lua-5.1.3-patched/src/lcode.h
|
||||
--- ../lua-5.1.3/src/lcode.h 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lcode.h 2008-03-03 12:47:53.000000000 +0200
|
||||
Index: lua-5.1.4/src/lcode.h
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lcode.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lcode.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -71,6 +71,6 @@
|
||||
LUAI_FUNC void luaK_infix (FuncState *fs, BinOpr op, expdesc *v);
|
||||
LUAI_FUNC void luaK_posfix (FuncState *fs, BinOpr op, expdesc *v1, expdesc *v2);
|
||||
|
@ -645,11 +650,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lcode.h lua-5.1.3-
|
|||
+LUAI_FUNC int luaK_integerK (FuncState *fs, lua_Integer r);
|
||||
|
||||
#endif
|
||||
Binary files ../lua-5.1.3/src/lcode.o and lua-5.1.3-patched/src/lcode.o differ
|
||||
Binary files ../lua-5.1.3/src/ldblib.o and lua-5.1.3-patched/src/ldblib.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ldebug.c lua-5.1.3-patched/src/ldebug.c
|
||||
--- ../lua-5.1.3/src/ldebug.c 2007-12-28 17:32:23.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/ldebug.c 2008-03-06 22:41:08.000000000 +0200
|
||||
Index: lua-5.1.4/src/ldebug.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/ldebug.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/ldebug.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -183,7 +183,7 @@
|
||||
int *lineinfo = f->l.p->lineinfo;
|
||||
int i;
|
||||
|
@ -659,7 +663,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ldebug.c lua-5.1.3
|
|||
sethvalue(L, L->top, t);
|
||||
}
|
||||
incr_top(L);
|
||||
@@ -550,7 +550,7 @@
|
||||
@@ -566,7 +566,7 @@
|
||||
|
||||
void luaG_typeerror (lua_State *L, const TValue *o, const char *op) {
|
||||
const char *name = NULL;
|
||||
|
@ -668,7 +672,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ldebug.c lua-5.1.3
|
|||
const char *kind = (isinstack(L->ci, o)) ?
|
||||
getobjname(L, L->ci, cast_int(o - L->base), &name) :
|
||||
NULL;
|
||||
@@ -578,8 +578,8 @@
|
||||
@@ -594,8 +594,8 @@
|
||||
|
||||
|
||||
int luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) {
|
||||
|
@ -679,10 +683,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ldebug.c lua-5.1.3
|
|||
if (t1[2] == t2[2])
|
||||
luaG_runerror(L, "attempt to compare two %s values", t1);
|
||||
else
|
||||
Binary files ../lua-5.1.3/src/ldebug.o and lua-5.1.3-patched/src/ldebug.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ldo.c lua-5.1.3-patched/src/ldo.c
|
||||
--- ../lua-5.1.3/src/ldo.c 2008-01-19 00:31:22.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/ldo.c 2008-03-06 22:41:31.000000000 +0200
|
||||
Index: lua-5.1.4/src/ldo.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/ldo.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/ldo.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -219,9 +219,9 @@
|
||||
luaC_checkGC(L);
|
||||
htab = luaH_new(L, nvar, 1); /* create `arg' table */
|
||||
|
@ -695,10 +699,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ldo.c lua-5.1.3-pa
|
|||
}
|
||||
#endif
|
||||
/* move fixed parameters to final position */
|
||||
Binary files ../lua-5.1.3/src/ldo.o and lua-5.1.3-patched/src/ldo.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ldump.c lua-5.1.3-patched/src/ldump.c
|
||||
--- ../lua-5.1.3/src/ldump.c 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/ldump.c 2008-03-03 12:47:53.000000000 +0200
|
||||
Index: lua-5.1.4/src/ldump.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/ldump.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/ldump.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -52,6 +52,11 @@
|
||||
DumpVar(x,D);
|
||||
}
|
||||
|
@ -724,14 +728,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ldump.c lua-5.1.3-
|
|||
case LUA_TSTRING:
|
||||
DumpString(rawtsvalue(o),D);
|
||||
break;
|
||||
Binary files ../lua-5.1.3/src/ldump.o and lua-5.1.3-patched/src/ldump.o differ
|
||||
Binary files ../lua-5.1.3/src/lfunc.o and lua-5.1.3-patched/src/lfunc.o differ
|
||||
Binary files ../lua-5.1.3/src/lgc.o and lua-5.1.3-patched/src/lgc.o differ
|
||||
Binary files ../lua-5.1.3/src/liblua.a and lua-5.1.3-patched/src/liblua.a differ
|
||||
Binary files ../lua-5.1.3/src/linit.o and lua-5.1.3-patched/src/linit.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/liolib.c lua-5.1.3-patched/src/liolib.c
|
||||
--- ../lua-5.1.3/src/liolib.c 2008-01-18 19:47:43.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/liolib.c 2008-03-19 10:10:09.000000000 +0200
|
||||
Index: lua-5.1.4/src/liolib.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/liolib.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/liolib.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -846,10 +846,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/liolib.c lua-5.1.3
|
|||
int res = setvbuf(f, NULL, mode[op], sz);
|
||||
return pushresult(L, res == 0, NULL);
|
||||
}
|
||||
Binary files ../lua-5.1.3/src/liolib.o and lua-5.1.3-patched/src/liolib.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/llex.c lua-5.1.3-patched/src/llex.c
|
||||
--- ../lua-5.1.3/src/llex.c 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/llex.c 2008-03-04 11:10:30.000000000 +0200
|
||||
Index: lua-5.1.4/src/llex.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/llex.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/llex.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "lstring.h"
|
||||
#include "ltable.h"
|
||||
|
@ -962,9 +962,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/llex.c lua-5.1.3-p
|
|||
}
|
||||
else if (isalpha(ls->current) || ls->current == '_') {
|
||||
/* identifier or reserved word */
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/llex.h lua-5.1.3-patched/src/llex.h
|
||||
--- ../lua-5.1.3/src/llex.h 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/llex.h 2008-03-04 11:12:08.000000000 +0200
|
||||
Index: lua-5.1.4/src/llex.h
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/llex.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/llex.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -29,19 +29,22 @@
|
||||
TK_RETURN, TK_THEN, TK_TRUE, TK_UNTIL, TK_WHILE,
|
||||
/* other terminal symbols */
|
||||
|
@ -993,10 +994,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/llex.h lua-5.1.3-p
|
|||
TString *ts;
|
||||
} SemInfo; /* semantics information */
|
||||
|
||||
Binary files ../lua-5.1.3/src/llex.o and lua-5.1.3-patched/src/llex.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/llimits.h lua-5.1.3-patched/src/llimits.h
|
||||
--- ../lua-5.1.3/src/llimits.h 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/llimits.h 2008-03-04 11:16:43.000000000 +0200
|
||||
Index: lua-5.1.4/src/llimits.h
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/llimits.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/llimits.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -49,6 +49,7 @@
|
||||
|
||||
/* result of a `usual argument conversion' over lua_Number */
|
||||
|
@ -1013,9 +1014,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/llimits.h lua-5.1.
|
|||
/*
|
||||
** type for virtual-machine instructions
|
||||
** must be an unsigned with (at least) 4 bytes (see details in lopcodes.h)
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lmathlib.c lua-5.1.3-patched/src/lmathlib.c
|
||||
--- ../lua-5.1.3/src/lmathlib.c 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lmathlib.c 2008-03-26 11:32:25.000000000 +0200
|
||||
Index: lua-5.1.4/src/lmathlib.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lmathlib.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lmathlib.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -4,7 +4,6 @@
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
|
@ -1429,11 +1431,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lmathlib.c lua-5.1
|
|||
#if defined(LUA_COMPAT_MOD)
|
||||
lua_getfield(L, -1, "fmod");
|
||||
lua_setfield(L, -2, "mod");
|
||||
Binary files ../lua-5.1.3/src/lmathlib.o and lua-5.1.3-patched/src/lmathlib.o differ
|
||||
Binary files ../lua-5.1.3/src/lmem.o and lua-5.1.3-patched/src/lmem.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lnum.c lua-5.1.3-patched/src/lnum.c
|
||||
--- ../lua-5.1.3/src/lnum.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lnum.c 2008-03-26 11:32:25.000000000 +0200
|
||||
Index: lua-5.1.4/src/lnum.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ lua-5.1.4/src/lnum.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -0,0 +1,312 @@
|
||||
+/*
|
||||
+** $Id: lnum.c,v ... $
|
||||
|
@ -1747,9 +1748,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lnum.c lua-5.1.3-p
|
|||
+ return 0;
|
||||
+}
|
||||
+
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lnum.h lua-5.1.3-patched/src/lnum.h
|
||||
--- ../lua-5.1.3/src/lnum.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lnum.h 2008-03-19 11:35:51.000000000 +0200
|
||||
Index: lua-5.1.4/src/lnum.h
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ lua-5.1.4/src/lnum.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -0,0 +1,116 @@
|
||||
+/*
|
||||
+** $Id: lnum.h,v ... $
|
||||
|
@ -1867,10 +1869,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lnum.h lua-5.1.3-p
|
|||
+{ lua_Integer _i; if (tt_integer_valued(o,&_i)) setivalue(o,_i); }
|
||||
+
|
||||
+#endif
|
||||
Binary files ../lua-5.1.3/src/lnum.o and lua-5.1.3-patched/src/lnum.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lnum_config.h lua-5.1.3-patched/src/lnum_config.h
|
||||
--- ../lua-5.1.3/src/lnum_config.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lnum_config.h 2008-03-26 11:32:25.000000000 +0200
|
||||
Index: lua-5.1.4/src/lnum_config.h
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ lua-5.1.4/src/lnum_config.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -0,0 +1,221 @@
|
||||
+/*
|
||||
+** $Id: lnum_config.h,v ... $
|
||||
|
@ -2093,10 +2095,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lnum_config.h lua-
|
|||
+
|
||||
+#endif
|
||||
+
|
||||
Binary files ../lua-5.1.3/src/loadlib.o and lua-5.1.3-patched/src/loadlib.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lobject.c lua-5.1.3-patched/src/lobject.c
|
||||
--- ../lua-5.1.3/src/lobject.c 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lobject.c 2008-03-14 11:08:49.000000000 +0200
|
||||
Index: lua-5.1.4/src/lobject.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lobject.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lobject.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -21,7 +21,8 @@
|
||||
#include "lstate.h"
|
||||
#include "lstring.h"
|
||||
|
@ -2181,9 +2183,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lobject.c lua-5.1.
|
|||
}
|
||||
}
|
||||
+
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lobject.h lua-5.1.3-patched/src/lobject.h
|
||||
--- ../lua-5.1.3/src/lobject.h 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lobject.h 2008-03-19 11:40:13.000000000 +0200
|
||||
Index: lua-5.1.4/src/lobject.h
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lobject.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lobject.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -17,7 +17,11 @@
|
||||
|
||||
|
||||
|
@ -2317,11 +2320,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lobject.h lua-5.1.
|
|||
-
|
||||
#endif
|
||||
|
||||
Binary files ../lua-5.1.3/src/lobject.o and lua-5.1.3-patched/src/lobject.o differ
|
||||
Binary files ../lua-5.1.3/src/lopcodes.o and lua-5.1.3-patched/src/lopcodes.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/loslib.c lua-5.1.3-patched/src/loslib.c
|
||||
--- ../lua-5.1.3/src/loslib.c 2008-01-18 18:38:18.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/loslib.c 2008-03-19 11:02:22.000000000 +0200
|
||||
Index: lua-5.1.4/src/loslib.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/loslib.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/loslib.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -186,15 +186,30 @@
|
||||
}
|
||||
if (t == (time_t)(-1))
|
||||
|
@ -2355,10 +2357,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/loslib.c lua-5.1.3
|
|||
return 1;
|
||||
}
|
||||
|
||||
Binary files ../lua-5.1.3/src/loslib.o and lua-5.1.3-patched/src/loslib.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lparser.c lua-5.1.3-patched/src/lparser.c
|
||||
--- ../lua-5.1.3/src/lparser.c 2007-12-28 17:32:23.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lparser.c 2008-03-06 21:58:41.000000000 +0200
|
||||
Index: lua-5.1.4/src/lparser.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lparser.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lparser.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -33,7 +33,6 @@
|
||||
|
||||
#define luaY_checklimit(fs,v,l,m) if ((v)>(l)) errorlimit(fs,l,m)
|
||||
|
@ -2404,9 +2406,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lparser.c lua-5.1.
|
|||
luaK_reserveregs(fs, 1);
|
||||
}
|
||||
forbody(ls, base, line, 1, 1);
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lparser.h lua-5.1.3-patched/src/lparser.h
|
||||
--- ../lua-5.1.3/src/lparser.h 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lparser.h 2008-03-06 22:01:11.000000000 +0200
|
||||
Index: lua-5.1.4/src/lparser.h
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lparser.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lparser.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -31,7 +31,11 @@
|
||||
VRELOCABLE, /* info = instruction pc */
|
||||
VNONRELOC, /* info = result register */
|
||||
|
@ -2428,13 +2431,11 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lparser.h lua-5.1.
|
|||
} u;
|
||||
int t; /* patch list of `exit when true' */
|
||||
int f; /* patch list of `exit when false' */
|
||||
Binary files ../lua-5.1.3/src/lparser.o and lua-5.1.3-patched/src/lparser.o differ
|
||||
Binary files ../lua-5.1.3/src/lstate.o and lua-5.1.3-patched/src/lstate.o differ
|
||||
Binary files ../lua-5.1.3/src/lstring.o and lua-5.1.3-patched/src/lstring.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lstrlib.c lua-5.1.3-patched/src/lstrlib.c
|
||||
--- ../lua-5.1.3/src/lstrlib.c 2007-12-28 17:32:23.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lstrlib.c 2008-03-12 23:15:22.000000000 +0200
|
||||
@@ -42,8 +42,8 @@
|
||||
Index: lua-5.1.4/src/lstrlib.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lstrlib.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lstrlib.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -43,8 +43,8 @@
|
||||
static int str_sub (lua_State *L) {
|
||||
size_t l;
|
||||
const char *s = luaL_checklstring(L, 1, &l);
|
||||
|
@ -2445,7 +2446,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lstrlib.c lua-5.1.
|
|||
if (start < 1) start = 1;
|
||||
if (end > (ptrdiff_t)l) end = (ptrdiff_t)l;
|
||||
if (start <= end)
|
||||
@@ -105,8 +105,8 @@
|
||||
@@ -106,8 +106,8 @@
|
||||
static int str_byte (lua_State *L) {
|
||||
size_t l;
|
||||
const char *s = luaL_checklstring(L, 1, &l);
|
||||
|
@ -2456,7 +2457,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lstrlib.c lua-5.1.
|
|||
int n, i;
|
||||
if (posi <= 0) posi = 1;
|
||||
if ((size_t)pose > l) pose = l;
|
||||
@@ -495,7 +495,7 @@
|
||||
@@ -496,7 +496,7 @@
|
||||
size_t l1, l2;
|
||||
const char *s = luaL_checklstring(L, 1, &l1);
|
||||
const char *p = luaL_checklstring(L, 2, &l2);
|
||||
|
@ -2465,7 +2466,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lstrlib.c lua-5.1.
|
|||
if (init < 0) init = 0;
|
||||
else if ((size_t)(init) > l1) init = (ptrdiff_t)l1;
|
||||
if (find && (lua_toboolean(L, 4) || /* explicit request? */
|
||||
@@ -689,7 +689,7 @@
|
||||
@@ -690,7 +690,7 @@
|
||||
** maximum size of each format specification (such as '%-099.99d')
|
||||
** (+10 accounts for %99.99x plus margin of error)
|
||||
*/
|
||||
|
@ -2474,7 +2475,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lstrlib.c lua-5.1.
|
|||
|
||||
|
||||
static void addquoted (lua_State *L, luaL_Buffer *b, int arg) {
|
||||
@@ -746,9 +746,9 @@
|
||||
@@ -747,9 +747,9 @@
|
||||
static void addintlen (char *form) {
|
||||
size_t l = strlen(form);
|
||||
char spec = form[l - 1];
|
||||
|
@ -2487,7 +2488,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lstrlib.c lua-5.1.
|
|||
}
|
||||
|
||||
|
||||
@@ -776,12 +776,12 @@
|
||||
@@ -777,12 +777,12 @@
|
||||
}
|
||||
case 'd': case 'i': {
|
||||
addintlen(form);
|
||||
|
@ -2502,10 +2503,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lstrlib.c lua-5.1.
|
|||
break;
|
||||
}
|
||||
case 'e': case 'E': case 'f':
|
||||
Binary files ../lua-5.1.3/src/lstrlib.o and lua-5.1.3-patched/src/lstrlib.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ltable.c lua-5.1.3-patched/src/ltable.c
|
||||
--- ../lua-5.1.3/src/ltable.c 2007-12-28 17:32:23.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/ltable.c 2008-03-26 13:04:20.000000000 +0200
|
||||
Index: lua-5.1.4/src/ltable.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/ltable.c 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/ltable.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "lobject.h"
|
||||
#include "lstate.h"
|
||||
|
@ -2779,9 +2780,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ltable.c lua-5.1.3
|
|||
else i = m;
|
||||
}
|
||||
return i;
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ltable.h lua-5.1.3-patched/src/ltable.h
|
||||
--- ../lua-5.1.3/src/ltable.h 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/ltable.h 2008-03-16 20:49:18.000000000 +0200
|
||||
Index: lua-5.1.4/src/ltable.h
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/ltable.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/ltable.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -18,8 +18,8 @@
|
||||
#define key2tval(n) (&(n)->i_key.tvk)
|
||||
|
||||
|
@ -2793,11 +2795,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ltable.h lua-5.1.3
|
|||
LUAI_FUNC const TValue *luaH_getstr (Table *t, TString *key);
|
||||
LUAI_FUNC TValue *luaH_setstr (lua_State *L, Table *t, TString *key);
|
||||
LUAI_FUNC const TValue *luaH_get (Table *t, const TValue *key);
|
||||
Binary files ../lua-5.1.3/src/ltable.o and lua-5.1.3-patched/src/ltable.o differ
|
||||
Binary files ../lua-5.1.3/src/ltablib.o and lua-5.1.3-patched/src/ltablib.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ltm.c lua-5.1.3-patched/src/ltm.c
|
||||
--- ../lua-5.1.3/src/ltm.c 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/ltm.c 2008-03-06 22:47:33.000000000 +0200
|
||||
Index: lua-5.1.4/src/ltm.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/ltm.c 2008-08-24 16:46:38.000000000 +0200
|
||||
+++ lua-5.1.4/src/ltm.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "ltm.h"
|
||||
|
||||
|
@ -2816,10 +2817,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/ltm.c lua-5.1.3-pa
|
|||
default:
|
||||
mt = G(L)->mt[ttype(o)];
|
||||
}
|
||||
Binary files ../lua-5.1.3/src/ltm.o and lua-5.1.3-patched/src/ltm.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lua.c lua-5.1.3-patched/src/lua.c
|
||||
--- ../lua-5.1.3/src/lua.c 2007-12-28 17:32:23.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lua.c 2008-03-26 11:32:25.000000000 +0200
|
||||
Index: lua-5.1.4/src/lua.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lua.c 2008-08-24 16:46:38.000000000 +0200
|
||||
+++ lua-5.1.4/src/lua.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
#include "lauxlib.h"
|
||||
|
@ -2845,12 +2846,13 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lua.c lua-5.1.3-pa
|
|||
s.argc = argc;
|
||||
s.argv = argv;
|
||||
status = lua_cpcall(L, &pmain, &s);
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lua.h lua-5.1.3-patched/src/lua.h
|
||||
--- ../lua-5.1.3/src/lua.h 2008-01-03 17:41:15.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lua.h 2008-03-19 11:19:34.000000000 +0200
|
||||
Index: lua-5.1.4/src/lua.h
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lua.h 2008-08-24 16:46:38.000000000 +0200
|
||||
+++ lua-5.1.4/src/lua.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -19,7 +19,7 @@
|
||||
#define LUA_VERSION "Lua 5.1"
|
||||
#define LUA_RELEASE "Lua 5.1.3"
|
||||
#define LUA_RELEASE "Lua 5.1.4"
|
||||
#define LUA_VERSION_NUM 501
|
||||
-#define LUA_COPYRIGHT "Copyright (C) 1994-2008 Lua.org, PUC-Rio"
|
||||
+#define LUA_COPYRIGHT "Copyright (C) 1994-2008 Lua.org, PUC-Rio" " (" LUA_LNUM ")"
|
||||
|
@ -2922,12 +2924,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lua.h lua-5.1.3-pa
|
|||
|
||||
#endif
|
||||
+
|
||||
Binary files ../lua-5.1.3/src/lua.o and lua-5.1.3-patched/src/lua.o differ
|
||||
Binary files ../lua-5.1.3/src/luac and lua-5.1.3-patched/src/luac differ
|
||||
Binary files ../lua-5.1.3/src/luac.o and lua-5.1.3-patched/src/luac.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/luaconf.h lua-5.1.3-patched/src/luaconf.h
|
||||
--- ../lua-5.1.3/src/luaconf.h 2008-01-18 19:07:48.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/luaconf.h 2008-03-24 20:28:57.000000000 +0200
|
||||
Index: lua-5.1.4/src/luaconf.h
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/luaconf.h 2008-08-24 16:46:38.000000000 +0200
|
||||
+++ lua-5.1.4/src/luaconf.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -10,7 +10,9 @@
|
||||
|
||||
#include <limits.h>
|
||||
|
@ -3152,10 +3152,11 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/luaconf.h lua-5.1.
|
|||
/* =================================================================== */
|
||||
|
||||
/*
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lundump.c lua-5.1.3-patched/src/lundump.c
|
||||
--- ../lua-5.1.3/src/lundump.c 2008-01-18 18:39:11.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lundump.c 2008-03-26 04:33:51.000000000 +0200
|
||||
@@ -74,6 +74,13 @@
|
||||
Index: lua-5.1.4/src/lundump.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lundump.c 2008-08-24 16:46:38.000000000 +0200
|
||||
+++ lua-5.1.4/src/lundump.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -73,6 +73,13 @@
|
||||
return x;
|
||||
}
|
||||
|
||||
|
@ -3169,7 +3170,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lundump.c lua-5.1.
|
|||
static TString* LoadString(LoadState* S)
|
||||
{
|
||||
size_t size;
|
||||
@@ -120,6 +127,9 @@
|
||||
@@ -119,6 +126,9 @@
|
||||
case LUA_TNUMBER:
|
||||
setnvalue(o,LoadNumber(S));
|
||||
break;
|
||||
|
@ -3179,7 +3180,7 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lundump.c lua-5.1.
|
|||
case LUA_TSTRING:
|
||||
setsvalue2n(S->L,o,LoadString(S));
|
||||
break;
|
||||
@@ -221,5 +231,22 @@
|
||||
@@ -223,5 +233,22 @@
|
||||
*h++=(char)sizeof(size_t);
|
||||
*h++=(char)sizeof(Instruction);
|
||||
*h++=(char)sizeof(lua_Number);
|
||||
|
@ -3203,10 +3204,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lundump.c lua-5.1.
|
|||
+#endif
|
||||
+ );
|
||||
}
|
||||
Binary files ../lua-5.1.3/src/lundump.o and lua-5.1.3-patched/src/lundump.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lvm.c lua-5.1.3-patched/src/lvm.c
|
||||
--- ../lua-5.1.3/src/lvm.c 2007-12-28 17:32:23.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lvm.c 2008-03-14 11:13:17.000000000 +0200
|
||||
Index: lua-5.1.4/src/lvm.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lvm.c 2008-08-24 16:46:38.000000000 +0200
|
||||
+++ lua-5.1.4/src/lvm.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -25,22 +25,35 @@
|
||||
#include "ltable.h"
|
||||
#include "ltm.h"
|
||||
|
@ -3755,9 +3756,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lvm.c lua-5.1.3-pa
|
|||
luaC_barriert(L, h, val);
|
||||
}
|
||||
continue;
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lvm.h lua-5.1.3-patched/src/lvm.h
|
||||
--- ../lua-5.1.3/src/lvm.h 2007-12-27 15:02:25.000000000 +0200
|
||||
+++ lua-5.1.3-patched/src/lvm.h 2008-03-19 10:49:34.000000000 +0200
|
||||
Index: lua-5.1.4/src/lvm.h
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lvm.h 2008-08-24 16:46:38.000000000 +0200
|
||||
+++ lua-5.1.4/src/lvm.h 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -15,11 +15,9 @@
|
||||
|
||||
#define tostring(L,o) ((ttype(o) == LUA_TSTRING) || (luaV_tostring(L, o)))
|
||||
|
@ -3772,11 +3774,10 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/lvm.h lua-5.1.3-pa
|
|||
|
||||
|
||||
LUAI_FUNC int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r);
|
||||
Binary files ../lua-5.1.3/src/lvm.o and lua-5.1.3-patched/src/lvm.o differ
|
||||
Binary files ../lua-5.1.3/src/lzio.o and lua-5.1.3-patched/src/lzio.o differ
|
||||
diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/print.c lua-5.1.3-patched/src/print.c
|
||||
--- ../lua-5.1.3/src/print.c 2007-03-26 03:17:38.000000000 +0300
|
||||
+++ lua-5.1.3-patched/src/print.c 2008-03-19 11:04:51.000000000 +0200
|
||||
Index: lua-5.1.4/src/print.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/print.c 2008-08-24 16:46:38.000000000 +0200
|
||||
+++ lua-5.1.4/src/print.c 2008-08-24 16:48:20.000000000 +0200
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "lobject.h"
|
||||
#include "lopcodes.h"
|
||||
|
@ -3803,4 +3804,3 @@ diff -urN --exclude=.svn --exclude=.DS_Store ../lua-5.1.3/src/print.c lua-5.1.3-
|
|||
break;
|
||||
case LUA_TSTRING:
|
||||
PrintString(rawtsvalue(o));
|
||||
Binary files ../lua-5.1.3/src/print.o and lua-5.1.3-patched/src/print.o differ
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
Index: lua-5.1.3/Makefile
|
||||
Index: lua-5.1.4/Makefile
|
||||
===================================================================
|
||||
--- lua-5.1.3.orig/Makefile 2008-05-23 09:03:23.000000000 +0200
|
||||
+++ lua-5.1.3/Makefile 2008-05-23 09:05:51.000000000 +0200
|
||||
@@ -37,8 +37,8 @@
|
||||
--- lua-5.1.4.orig/Makefile 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/Makefile 2008-08-24 16:48:42.000000000 +0200
|
||||
@@ -42,8 +42,8 @@
|
||||
|
||||
# What to install.
|
||||
TO_BIN= lua luac
|
||||
|
@ -13,18 +13,18 @@ Index: lua-5.1.3/Makefile
|
|||
TO_MAN= lua.1 luac.1
|
||||
|
||||
# Lua version and release.
|
||||
@@ -58,6 +58,7 @@
|
||||
@@ -63,6 +63,7 @@
|
||||
cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
|
||||
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
|
||||
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
||||
+ ln -s liblua.so.$R $(INSTALL_LIB)/liblua.so
|
||||
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
||||
|
||||
local:
|
||||
Index: lua-5.1.3/src/ldo.h
|
||||
ranlib:
|
||||
Index: lua-5.1.4/src/ldo.h
|
||||
===================================================================
|
||||
--- lua-5.1.3.orig/src/ldo.h 2008-05-23 09:03:23.000000000 +0200
|
||||
+++ lua-5.1.3/src/ldo.h 2008-05-23 09:03:32.000000000 +0200
|
||||
--- lua-5.1.4.orig/src/ldo.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/ldo.h 2008-08-24 16:48:42.000000000 +0200
|
||||
@@ -46,7 +46,7 @@
|
||||
LUAI_FUNC int luaD_poscall (lua_State *L, StkId firstResult);
|
||||
LUAI_FUNC void luaD_reallocCI (lua_State *L, int newsize);
|
||||
|
@ -34,10 +34,10 @@ Index: lua-5.1.3/src/ldo.h
|
|||
|
||||
LUAI_FUNC void luaD_throw (lua_State *L, int errcode);
|
||||
LUAI_FUNC int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud);
|
||||
Index: lua-5.1.3/src/lfunc.h
|
||||
Index: lua-5.1.4/src/lfunc.h
|
||||
===================================================================
|
||||
--- lua-5.1.3.orig/src/lfunc.h 2008-05-23 09:03:23.000000000 +0200
|
||||
+++ lua-5.1.3/src/lfunc.h 2008-05-23 09:03:32.000000000 +0200
|
||||
--- lua-5.1.4.orig/src/lfunc.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lfunc.h 2008-08-24 16:48:42.000000000 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
cast(int, sizeof(TValue *)*((n)-1)))
|
||||
|
||||
|
@ -47,10 +47,10 @@ Index: lua-5.1.3/src/lfunc.h
|
|||
LUAI_FUNC Closure *luaF_newCclosure (lua_State *L, int nelems, Table *e);
|
||||
LUAI_FUNC Closure *luaF_newLclosure (lua_State *L, int nelems, Table *e);
|
||||
LUAI_FUNC UpVal *luaF_newupval (lua_State *L);
|
||||
Index: lua-5.1.3/src/lmem.h
|
||||
Index: lua-5.1.4/src/lmem.h
|
||||
===================================================================
|
||||
--- lua-5.1.3.orig/src/lmem.h 2008-05-23 09:03:23.000000000 +0200
|
||||
+++ lua-5.1.3/src/lmem.h 2008-05-23 09:03:32.000000000 +0200
|
||||
--- lua-5.1.4.orig/src/lmem.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lmem.h 2008-08-24 16:48:42.000000000 +0200
|
||||
@@ -38,9 +38,9 @@
|
||||
((v)=cast(t *, luaM_reallocv(L, v, oldn, n, sizeof(t))))
|
||||
|
||||
|
@ -63,10 +63,10 @@ Index: lua-5.1.3/src/lmem.h
|
|||
LUAI_FUNC void *luaM_growaux_ (lua_State *L, void *block, int *size,
|
||||
size_t size_elem, int limit,
|
||||
const char *errormsg);
|
||||
Index: lua-5.1.3/src/lstring.h
|
||||
Index: lua-5.1.4/src/lstring.h
|
||||
===================================================================
|
||||
--- lua-5.1.3.orig/src/lstring.h 2008-05-23 09:03:23.000000000 +0200
|
||||
+++ lua-5.1.3/src/lstring.h 2008-05-23 09:03:32.000000000 +0200
|
||||
--- lua-5.1.4.orig/src/lstring.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lstring.h 2008-08-24 16:48:42.000000000 +0200
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
LUAI_FUNC void luaS_resize (lua_State *L, int newsize);
|
||||
|
@ -76,10 +76,10 @@ Index: lua-5.1.3/src/lstring.h
|
|||
|
||||
|
||||
#endif
|
||||
Index: lua-5.1.3/src/lundump.h
|
||||
Index: lua-5.1.4/src/lundump.h
|
||||
===================================================================
|
||||
--- lua-5.1.3.orig/src/lundump.h 2008-05-23 09:03:23.000000000 +0200
|
||||
+++ lua-5.1.3/src/lundump.h 2008-05-23 09:03:32.000000000 +0200
|
||||
--- lua-5.1.4.orig/src/lundump.h 2008-08-24 16:46:37.000000000 +0200
|
||||
+++ lua-5.1.4/src/lundump.h 2008-08-24 16:48:42.000000000 +0200
|
||||
@@ -17,7 +17,7 @@
|
||||
LUAI_FUNC void luaU_header (char* h);
|
||||
|
||||
|
@ -89,10 +89,10 @@ Index: lua-5.1.3/src/lundump.h
|
|||
|
||||
#ifdef luac_c
|
||||
/* print one chunk; from print.c */
|
||||
Index: lua-5.1.3/src/Makefile
|
||||
Index: lua-5.1.4/src/Makefile
|
||||
===================================================================
|
||||
--- lua-5.1.3.orig/src/Makefile 2008-05-23 09:03:32.000000000 +0200
|
||||
+++ lua-5.1.3/src/Makefile 2008-05-23 09:03:36.000000000 +0200
|
||||
--- lua-5.1.4.orig/src/Makefile 2008-08-24 16:48:20.000000000 +0200
|
||||
+++ lua-5.1.4/src/Makefile 2008-08-24 16:48:42.000000000 +0200
|
||||
@@ -23,6 +23,7 @@
|
||||
PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
diff -ur lua-5.1.3-pt2/src/ldump.c lua-5.1.3-pt3/src/ldump.c
|
||||
--- lua-5.1.3-pt2/src/ldump.c 2008-04-05 14:25:13.000000000 +0200
|
||||
+++ lua-5.1.3-pt3/src/ldump.c 2008-04-05 14:28:27.000000000 +0200
|
||||
Index: lua-5.1.4/src/ldump.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/ldump.c 2008-08-24 16:48:20.000000000 +0200
|
||||
+++ lua-5.1.4/src/ldump.c 2008-08-24 16:48:52.000000000 +0200
|
||||
@@ -67,12 +67,12 @@
|
||||
{
|
||||
if (s==NULL || getstr(s)==NULL)
|
||||
|
@ -16,9 +17,10 @@ diff -ur lua-5.1.3-pt2/src/ldump.c lua-5.1.3-pt3/src/ldump.c
|
|||
DumpVar(size,D);
|
||||
DumpBlock(getstr(s),size,D);
|
||||
}
|
||||
diff -ur lua-5.1.3-pt2/src/lundump.c lua-5.1.3-pt3/src/lundump.c
|
||||
--- lua-5.1.3-pt2/src/lundump.c 2008-04-05 14:25:13.000000000 +0200
|
||||
+++ lua-5.1.3-pt3/src/lundump.c 2008-04-05 14:28:27.000000000 +0200
|
||||
Index: lua-5.1.4/src/lundump.c
|
||||
===================================================================
|
||||
--- lua-5.1.4.orig/src/lundump.c 2008-08-24 16:48:20.000000000 +0200
|
||||
+++ lua-5.1.4/src/lundump.c 2008-08-24 16:48:52.000000000 +0200
|
||||
@@ -25,6 +25,7 @@
|
||||
ZIO* Z;
|
||||
Mbuffer* b;
|
||||
|
@ -35,7 +37,7 @@ diff -ur lua-5.1.3-pt2/src/lundump.c lua-5.1.3-pt3/src/lundump.c
|
|||
#define LoadByte(S) (lu_byte)LoadChar(S)
|
||||
#define LoadVar(S,x) LoadMem(S,&x,1,sizeof(x))
|
||||
#define LoadVector(S,b,n,size) LoadMem(S,b,n,size)
|
||||
@@ -52,6 +52,49 @@
|
||||
@@ -51,6 +51,49 @@
|
||||
IF (r!=0, "unexpected end");
|
||||
}
|
||||
|
||||
|
@ -85,7 +87,7 @@ diff -ur lua-5.1.3-pt2/src/lundump.c lua-5.1.3-pt3/src/lundump.c
|
|||
static int LoadChar(LoadState* S)
|
||||
{
|
||||
char x;
|
||||
@@ -83,7 +126,7 @@
|
||||
@@ -82,7 +125,7 @@
|
||||
|
||||
static TString* LoadString(LoadState* S)
|
||||
{
|
||||
|
@ -94,7 +96,7 @@ diff -ur lua-5.1.3-pt2/src/lundump.c lua-5.1.3-pt3/src/lundump.c
|
|||
LoadVar(S,size);
|
||||
if (size==0)
|
||||
return NULL;
|
||||
@@ -194,6 +237,7 @@
|
||||
@@ -196,6 +239,7 @@
|
||||
char s[LUAC_HEADERSIZE];
|
||||
luaU_header(h);
|
||||
LoadBlock(S,s,LUAC_HEADERSIZE);
|
||||
|
@ -102,7 +104,7 @@ diff -ur lua-5.1.3-pt2/src/lundump.c lua-5.1.3-pt3/src/lundump.c
|
|||
IF (memcmp(h,s,LUAC_HEADERSIZE)!=0, "bad header");
|
||||
}
|
||||
|
||||
@@ -228,7 +272,7 @@
|
||||
@@ -230,7 +274,7 @@
|
||||
*h++=(char)LUAC_FORMAT;
|
||||
*h++=(char)*(char*)&x; /* endianness */
|
||||
*h++=(char)sizeof(int);
|
||||
|
|
363
tools/lua/patches/300-opcode_performance.patch
Normal file
363
tools/lua/patches/300-opcode_performance.patch
Normal file
|
@ -0,0 +1,363 @@
|
|||
--- a/src/lvm.c
|
||||
+++ b/src/lvm.c
|
||||
@@ -31,6 +31,9 @@
|
||||
/* limit for table tag-method chains (to avoid loops) */
|
||||
#define MAXTAGLOOP 100
|
||||
|
||||
+#ifdef __GNUC__
|
||||
+#define COMPUTED_GOTO 1
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* If 'obj' is a string, it is tried to be interpreted as a number.
|
||||
@@ -562,12 +565,63 @@
|
||||
ARITH_OP1_END
|
||||
#endif
|
||||
|
||||
+#ifdef COMPUTED_GOTO
|
||||
+#define OPCODE_TARGET(op) DO_OP_##op:
|
||||
+#define CALL_OPCODE(op) goto *opcodes[op];
|
||||
+#define OPCODE_PTR(op) [OP_##op] = &&DO_OP_##op
|
||||
+#else
|
||||
+#define OPCODE_TARGET(op) case OP_##op:
|
||||
+#define CALL_OPCODE(op) switch (op)
|
||||
+#endif
|
||||
+
|
||||
|
||||
void luaV_execute (lua_State *L, int nexeccalls) {
|
||||
LClosure *cl;
|
||||
StkId base;
|
||||
TValue *k;
|
||||
const Instruction *pc;
|
||||
+#ifdef COMPUTED_GOTO
|
||||
+ static const void *opcodes[] = {
|
||||
+ OPCODE_PTR(MOVE),
|
||||
+ OPCODE_PTR(LOADK),
|
||||
+ OPCODE_PTR(LOADBOOL),
|
||||
+ OPCODE_PTR(LOADNIL),
|
||||
+ OPCODE_PTR(GETUPVAL),
|
||||
+ OPCODE_PTR(GETGLOBAL),
|
||||
+ OPCODE_PTR(GETTABLE),
|
||||
+ OPCODE_PTR(SETGLOBAL),
|
||||
+ OPCODE_PTR(SETUPVAL),
|
||||
+ OPCODE_PTR(SETTABLE),
|
||||
+ OPCODE_PTR(NEWTABLE),
|
||||
+ OPCODE_PTR(SELF),
|
||||
+ OPCODE_PTR(ADD),
|
||||
+ OPCODE_PTR(SUB),
|
||||
+ OPCODE_PTR(MUL),
|
||||
+ OPCODE_PTR(DIV),
|
||||
+ OPCODE_PTR(MOD),
|
||||
+ OPCODE_PTR(POW),
|
||||
+ OPCODE_PTR(UNM),
|
||||
+ OPCODE_PTR(NOT),
|
||||
+ OPCODE_PTR(LEN),
|
||||
+ OPCODE_PTR(CONCAT),
|
||||
+ OPCODE_PTR(JMP),
|
||||
+ OPCODE_PTR(EQ),
|
||||
+ OPCODE_PTR(LT),
|
||||
+ OPCODE_PTR(LE),
|
||||
+ OPCODE_PTR(TEST),
|
||||
+ OPCODE_PTR(TESTSET),
|
||||
+ OPCODE_PTR(CALL),
|
||||
+ OPCODE_PTR(TAILCALL),
|
||||
+ OPCODE_PTR(RETURN),
|
||||
+ OPCODE_PTR(FORLOOP),
|
||||
+ OPCODE_PTR(FORPREP),
|
||||
+ OPCODE_PTR(TFORLOOP),
|
||||
+ OPCODE_PTR(SETLIST),
|
||||
+ OPCODE_PTR(CLOSE),
|
||||
+ OPCODE_PTR(CLOSURE),
|
||||
+ OPCODE_PTR(VARARG)
|
||||
+ };
|
||||
+#endif
|
||||
reentry: /* entry point */
|
||||
lua_assert(isLua(L->ci));
|
||||
pc = L->savedpc;
|
||||
@@ -592,33 +646,33 @@
|
||||
lua_assert(base == L->base && L->base == L->ci->base);
|
||||
lua_assert(base <= L->top && L->top <= L->stack + L->stacksize);
|
||||
lua_assert(L->top == L->ci->top || luaG_checkopenop(i));
|
||||
- switch (GET_OPCODE(i)) {
|
||||
- case OP_MOVE: {
|
||||
+ CALL_OPCODE(GET_OPCODE(i)) {
|
||||
+ OPCODE_TARGET(MOVE) {
|
||||
setobjs2s(L, ra, RB(i));
|
||||
continue;
|
||||
}
|
||||
- case OP_LOADK: {
|
||||
+ OPCODE_TARGET(LOADK) {
|
||||
setobj2s(L, ra, KBx(i));
|
||||
continue;
|
||||
}
|
||||
- case OP_LOADBOOL: {
|
||||
+ OPCODE_TARGET(LOADBOOL) {
|
||||
setbvalue(ra, GETARG_B(i));
|
||||
if (GETARG_C(i)) pc++; /* skip next instruction (if C) */
|
||||
continue;
|
||||
}
|
||||
- case OP_LOADNIL: {
|
||||
+ OPCODE_TARGET(LOADNIL) {
|
||||
TValue *rb = RB(i);
|
||||
do {
|
||||
setnilvalue(rb--);
|
||||
} while (rb >= ra);
|
||||
continue;
|
||||
}
|
||||
- case OP_GETUPVAL: {
|
||||
+ OPCODE_TARGET(GETUPVAL) {
|
||||
int b = GETARG_B(i);
|
||||
setobj2s(L, ra, cl->upvals[b]->v);
|
||||
continue;
|
||||
}
|
||||
- case OP_GETGLOBAL: {
|
||||
+ OPCODE_TARGET(GETGLOBAL) {
|
||||
TValue g;
|
||||
TValue *rb = KBx(i);
|
||||
sethvalue(L, &g, cl->env);
|
||||
@@ -626,88 +680,88 @@
|
||||
Protect(luaV_gettable(L, &g, rb, ra));
|
||||
continue;
|
||||
}
|
||||
- case OP_GETTABLE: {
|
||||
+ OPCODE_TARGET(GETTABLE) {
|
||||
Protect(luaV_gettable(L, RB(i), RKC(i), ra));
|
||||
continue;
|
||||
}
|
||||
- case OP_SETGLOBAL: {
|
||||
+ OPCODE_TARGET(SETGLOBAL) {
|
||||
TValue g;
|
||||
sethvalue(L, &g, cl->env);
|
||||
lua_assert(ttisstring(KBx(i)));
|
||||
Protect(luaV_settable(L, &g, KBx(i), ra));
|
||||
continue;
|
||||
}
|
||||
- case OP_SETUPVAL: {
|
||||
+ OPCODE_TARGET(SETUPVAL) {
|
||||
UpVal *uv = cl->upvals[GETARG_B(i)];
|
||||
setobj(L, uv->v, ra);
|
||||
luaC_barrier(L, uv, ra);
|
||||
continue;
|
||||
}
|
||||
- case OP_SETTABLE: {
|
||||
+ OPCODE_TARGET(SETTABLE) {
|
||||
Protect(luaV_settable(L, ra, RKB(i), RKC(i)));
|
||||
continue;
|
||||
}
|
||||
- case OP_NEWTABLE: {
|
||||
+ OPCODE_TARGET(NEWTABLE) {
|
||||
int b = GETARG_B(i);
|
||||
int c = GETARG_C(i);
|
||||
sethvalue(L, ra, luaH_new(L, luaO_fb2int(b), luaO_fb2int(c)));
|
||||
Protect(luaC_checkGC(L));
|
||||
continue;
|
||||
}
|
||||
- case OP_SELF: {
|
||||
+ OPCODE_TARGET(SELF) {
|
||||
StkId rb = RB(i);
|
||||
setobjs2s(L, ra+1, rb);
|
||||
Protect(luaV_gettable(L, rb, RKC(i), ra));
|
||||
continue;
|
||||
}
|
||||
- case OP_ADD: {
|
||||
+ OPCODE_TARGET(ADD) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue( luai_numadd, try_addint, luai_vectadd );
|
||||
Protect(Arith(L, ra, rb, rc, TM_ADD)); \
|
||||
continue;
|
||||
}
|
||||
- case OP_SUB: {
|
||||
+ OPCODE_TARGET(SUB) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue( luai_numsub, try_subint, luai_vectsub );
|
||||
Protect(Arith(L, ra, rb, rc, TM_SUB));
|
||||
continue;
|
||||
}
|
||||
- case OP_MUL: {
|
||||
+ OPCODE_TARGET(MUL) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue(luai_nummul, try_mulint, luai_vectmul);
|
||||
Protect(Arith(L, ra, rb, rc, TM_MUL));
|
||||
continue;
|
||||
}
|
||||
- case OP_DIV: {
|
||||
+ OPCODE_TARGET(DIV) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue(luai_numdiv, try_divint, luai_vectdiv);
|
||||
Protect(Arith(L, ra, rb, rc, TM_DIV));
|
||||
continue;
|
||||
}
|
||||
- case OP_MOD: {
|
||||
+ OPCODE_TARGET(MOD) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue_scalar(luai_nummod, try_modint); /* scalars only */
|
||||
Protect(Arith(L, ra, rb, rc, TM_MOD));
|
||||
continue;
|
||||
}
|
||||
- case OP_POW: {
|
||||
+ OPCODE_TARGET(POW) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue(luai_numpow, try_powint, luai_vectpow);
|
||||
Protect(Arith(L, ra, rb, rc, TM_POW));
|
||||
continue;
|
||||
}
|
||||
- case OP_UNM: {
|
||||
+ OPCODE_TARGET(UNM) {
|
||||
TValue *rb = RB(i);
|
||||
arith_op1_continue(luai_numunm, try_unmint, luai_vectunm);
|
||||
Protect(Arith(L, ra, rb, rb, TM_UNM));
|
||||
continue;
|
||||
}
|
||||
- case OP_NOT: {
|
||||
+ OPCODE_TARGET(NOT) {
|
||||
int res = l_isfalse(RB(i)); /* next assignment may change this value */
|
||||
setbvalue(ra, res);
|
||||
continue;
|
||||
}
|
||||
- case OP_LEN: {
|
||||
+ OPCODE_TARGET(LEN) {
|
||||
const TValue *rb = RB(i);
|
||||
switch (ttype(rb)) {
|
||||
case LUA_TTABLE: {
|
||||
@@ -727,18 +781,18 @@
|
||||
}
|
||||
continue;
|
||||
}
|
||||
- case OP_CONCAT: {
|
||||
+ OPCODE_TARGET(CONCAT) {
|
||||
int b = GETARG_B(i);
|
||||
int c = GETARG_C(i);
|
||||
Protect(luaV_concat(L, c-b+1, c); luaC_checkGC(L));
|
||||
setobjs2s(L, RA(i), base+b);
|
||||
continue;
|
||||
}
|
||||
- case OP_JMP: {
|
||||
+ OPCODE_TARGET(JMP) {
|
||||
dojump(L, pc, GETARG_sBx(i));
|
||||
continue;
|
||||
}
|
||||
- case OP_EQ: {
|
||||
+ OPCODE_TARGET(EQ) {
|
||||
TValue *rb = RKB(i);
|
||||
TValue *rc = RKC(i);
|
||||
Protect(
|
||||
@@ -748,7 +802,7 @@
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_LT: {
|
||||
+ OPCODE_TARGET(LT) {
|
||||
Protect(
|
||||
if (luaV_lessthan(L, RKB(i), RKC(i)) == GETARG_A(i))
|
||||
dojump(L, pc, GETARG_sBx(*pc));
|
||||
@@ -756,7 +810,7 @@
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_LE: {
|
||||
+ OPCODE_TARGET(LE) {
|
||||
Protect(
|
||||
if (lessequal(L, RKB(i), RKC(i)) == GETARG_A(i))
|
||||
dojump(L, pc, GETARG_sBx(*pc));
|
||||
@@ -764,13 +818,13 @@
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_TEST: {
|
||||
+ OPCODE_TARGET(TEST) {
|
||||
if (l_isfalse(ra) != GETARG_C(i))
|
||||
dojump(L, pc, GETARG_sBx(*pc));
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_TESTSET: {
|
||||
+ OPCODE_TARGET(TESTSET) {
|
||||
TValue *rb = RB(i);
|
||||
if (l_isfalse(rb) != GETARG_C(i)) {
|
||||
setobjs2s(L, ra, rb);
|
||||
@@ -779,7 +833,7 @@
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_CALL: {
|
||||
+ OPCODE_TARGET(CALL) {
|
||||
int b = GETARG_B(i);
|
||||
int nresults = GETARG_C(i) - 1;
|
||||
if (b != 0) L->top = ra+b; /* else previous instruction set top */
|
||||
@@ -800,7 +854,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
- case OP_TAILCALL: {
|
||||
+ OPCODE_TARGET(TAILCALL) {
|
||||
int b = GETARG_B(i);
|
||||
if (b != 0) L->top = ra+b; /* else previous instruction set top */
|
||||
L->savedpc = pc;
|
||||
@@ -832,7 +886,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
- case OP_RETURN: {
|
||||
+ OPCODE_TARGET(RETURN) {
|
||||
int b = GETARG_B(i);
|
||||
if (b != 0) L->top = ra+b-1;
|
||||
if (L->openupval) luaF_close(L, base);
|
||||
@@ -847,7 +901,7 @@
|
||||
goto reentry;
|
||||
}
|
||||
}
|
||||
- case OP_FORLOOP: {
|
||||
+ OPCODE_TARGET(FORLOOP) {
|
||||
/* If start,step and limit are all integers, we don't need to check
|
||||
* against overflow in the looping.
|
||||
*/
|
||||
@@ -875,7 +929,7 @@
|
||||
}
|
||||
continue;
|
||||
}
|
||||
- case OP_FORPREP: {
|
||||
+ OPCODE_TARGET(FORPREP) {
|
||||
const TValue *init = ra;
|
||||
const TValue *plimit = ra+1;
|
||||
const TValue *pstep = ra+2;
|
||||
@@ -898,7 +952,7 @@
|
||||
dojump(L, pc, GETARG_sBx(i));
|
||||
continue;
|
||||
}
|
||||
- case OP_TFORLOOP: {
|
||||
+ OPCODE_TARGET(TFORLOOP) {
|
||||
StkId cb = ra + 3; /* call base */
|
||||
setobjs2s(L, cb+2, ra+2);
|
||||
setobjs2s(L, cb+1, ra+1);
|
||||
@@ -914,7 +968,7 @@
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_SETLIST: {
|
||||
+ OPCODE_TARGET(SETLIST) {
|
||||
int n = GETARG_B(i);
|
||||
int c = GETARG_C(i);
|
||||
int last;
|
||||
@@ -936,11 +990,11 @@
|
||||
}
|
||||
continue;
|
||||
}
|
||||
- case OP_CLOSE: {
|
||||
+ OPCODE_TARGET(CLOSE) {
|
||||
luaF_close(L, ra);
|
||||
continue;
|
||||
}
|
||||
- case OP_CLOSURE: {
|
||||
+ OPCODE_TARGET(CLOSURE) {
|
||||
Proto *p;
|
||||
Closure *ncl;
|
||||
int nup, j;
|
||||
@@ -960,7 +1014,7 @@
|
||||
Protect(luaC_checkGC(L));
|
||||
continue;
|
||||
}
|
||||
- case OP_VARARG: {
|
||||
+ OPCODE_TARGET(VARARG) {
|
||||
int b = GETARG_B(i) - 1;
|
||||
int j;
|
||||
CallInfo *ci = L->ci;
|
Loading…
Reference in a new issue