summaryrefslogtreecommitdiffstats
path: root/package/lua/lua-bug6-gc_performance.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/lua/lua-bug6-gc_performance.patch')
-rw-r--r--package/lua/lua-bug6-gc_performance.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/package/lua/lua-bug6-gc_performance.patch b/package/lua/lua-bug6-gc_performance.patch
new file mode 100644
index 000000000..3c78525b0
--- /dev/null
+++ b/package/lua/lua-bug6-gc_performance.patch
@@ -0,0 +1,14 @@
+--- lua-5.1.4.orig/src/llex.c 2007/12/28 15:32:23 2.63.1.3
++++ lua-5.1.4/src/llex.c 2010/02/23 12:36:59
+@@ -118,8 +118,10 @@
+ lua_State *L = ls->L;
+ TString *ts = luaS_newlstr(L, str, l);
+ TValue *o = luaH_setstr(L, ls->fs->h, ts); /* entry for `str' */
+- if (ttisnil(o))
++ if (ttisnil(o)) {
+ setbvalue(o, 1); /* make sure `str' will not be collected */
++ luaC_checkGC(L);
++ }
+ return ts;
+ }
+