aboutsummaryrefslogtreecommitdiffstats
path: root/package/lua/patches/300-opcode_performance.patch
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2009-07-09 17:45:23 +0000
committerJo-Philipp Wich <jow@openwrt.org>2009-07-09 17:45:23 +0000
commit03db00a803c8c8b78c7aa2880ab05f149da72815 (patch)
tree0e7e03b7d4ab188b06a54b58dffcf01784a92167 /package/lua/patches/300-opcode_performance.patch
parentb8a97ca5c51f04b5fb32446c0d1df9186781b231 (diff)
downloadupstream-03db00a803c8c8b78c7aa2880ab05f149da72815.tar.gz
upstream-03db00a803c8c8b78c7aa2880ab05f149da72815.tar.bz2
upstream-03db00a803c8c8b78c7aa2880ab05f149da72815.zip
package/lua: implement memory limits, scripts can use get_memory_limit() and set_memory_limit() to cap the maximum ram usage
SVN-Revision: 16753
Diffstat (limited to 'package/lua/patches/300-opcode_performance.patch')
-rw-r--r--package/lua/patches/300-opcode_performance.patch32
1 files changed, 16 insertions, 16 deletions
diff --git a/package/lua/patches/300-opcode_performance.patch b/package/lua/patches/300-opcode_performance.patch
index f6204ae19b..fb1f9a1ea7 100644
--- a/package/lua/patches/300-opcode_performance.patch
+++ b/package/lua/patches/300-opcode_performance.patch
@@ -10,7 +10,7 @@
/*
* If 'obj' is a string, it is tried to be interpreted as a number.
-@@ -562,12 +565,63 @@
+@@ -564,12 +567,63 @@
ARITH_OP1_END
#endif
@@ -74,7 +74,7 @@
reentry: /* entry point */
lua_assert(isLua(L->ci));
pc = L->savedpc;
-@@ -592,33 +646,33 @@
+@@ -594,33 +648,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));
@@ -115,7 +115,7 @@
TValue g;
TValue *rb = KBx(i);
sethvalue(L, &g, cl->env);
-@@ -626,88 +680,88 @@
+@@ -628,88 +682,88 @@
Protect(luaV_gettable(L, &g, rb, ra));
continue;
}
@@ -219,7 +219,7 @@
const TValue *rb = RB(i);
switch (ttype(rb)) {
case LUA_TTABLE: {
-@@ -727,18 +781,18 @@
+@@ -729,18 +783,18 @@
}
continue;
}
@@ -241,7 +241,7 @@
TValue *rb = RKB(i);
TValue *rc = RKC(i);
Protect(
-@@ -748,7 +802,7 @@
+@@ -750,7 +804,7 @@
pc++;
continue;
}
@@ -250,7 +250,7 @@
Protect(
if (luaV_lessthan(L, RKB(i), RKC(i)) == GETARG_A(i))
dojump(L, pc, GETARG_sBx(*pc));
-@@ -756,7 +810,7 @@
+@@ -758,7 +812,7 @@
pc++;
continue;
}
@@ -259,7 +259,7 @@
Protect(
if (lessequal(L, RKB(i), RKC(i)) == GETARG_A(i))
dojump(L, pc, GETARG_sBx(*pc));
-@@ -764,13 +818,13 @@
+@@ -766,13 +820,13 @@
pc++;
continue;
}
@@ -275,7 +275,7 @@
TValue *rb = RB(i);
if (l_isfalse(rb) != GETARG_C(i)) {
setobjs2s(L, ra, rb);
-@@ -779,7 +833,7 @@
+@@ -781,7 +835,7 @@
pc++;
continue;
}
@@ -284,7 +284,7 @@
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 @@
+@@ -802,7 +856,7 @@
}
}
}
@@ -293,7 +293,7 @@
int b = GETARG_B(i);
if (b != 0) L->top = ra+b; /* else previous instruction set top */
L->savedpc = pc;
-@@ -832,7 +886,7 @@
+@@ -834,7 +888,7 @@
}
}
}
@@ -302,7 +302,7 @@
int b = GETARG_B(i);
if (b != 0) L->top = ra+b-1;
if (L->openupval) luaF_close(L, base);
-@@ -847,7 +901,7 @@
+@@ -849,7 +903,7 @@
goto reentry;
}
}
@@ -311,7 +311,7 @@
/* If start,step and limit are all integers, we don't need to check
* against overflow in the looping.
*/
-@@ -875,7 +929,7 @@
+@@ -877,7 +931,7 @@
}
continue;
}
@@ -320,7 +320,7 @@
const TValue *init = ra;
const TValue *plimit = ra+1;
const TValue *pstep = ra+2;
-@@ -898,7 +952,7 @@
+@@ -900,7 +954,7 @@
dojump(L, pc, GETARG_sBx(i));
continue;
}
@@ -329,7 +329,7 @@
StkId cb = ra + 3; /* call base */
setobjs2s(L, cb+2, ra+2);
setobjs2s(L, cb+1, ra+1);
-@@ -914,7 +968,7 @@
+@@ -916,7 +970,7 @@
pc++;
continue;
}
@@ -338,7 +338,7 @@
int n = GETARG_B(i);
int c = GETARG_C(i);
int last;
-@@ -936,11 +990,11 @@
+@@ -938,11 +992,11 @@
}
continue;
}
@@ -352,7 +352,7 @@
Proto *p;
Closure *ncl;
int nup, j;
-@@ -960,7 +1014,7 @@
+@@ -962,7 +1016,7 @@
Protect(luaC_checkGC(L));
continue;
}