summaryrefslogtreecommitdiff
path: root/Build/source/libs/lua53/lua53-src/src/lparser.c
diff options
context:
space:
mode:
authorLuigi Scarso <luigi.scarso@gmail.com>2020-10-04 19:39:39 +0000
committerLuigi Scarso <luigi.scarso@gmail.com>2020-10-04 19:39:39 +0000
commit897efa4b7afe155a5913e31e318891bba54dd1bb (patch)
treec696b26e7512932f476d9fde7536194a585457cf /Build/source/libs/lua53/lua53-src/src/lparser.c
parentb485704ecdb46ae6bc0997142320038f924469d1 (diff)
sync with upstream luatex; Lua 5.3.6
git-svn-id: svn://tug.org/texlive/trunk@56535 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/lua53/lua53-src/src/lparser.c')
-rw-r--r--Build/source/libs/lua53/lua53-src/src/lparser.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Build/source/libs/lua53/lua53-src/src/lparser.c b/Build/source/libs/lua53/lua53-src/src/lparser.c
index cc54de43c63..2f41e00b803 100644
--- a/Build/source/libs/lua53/lua53-src/src/lparser.c
+++ b/Build/source/libs/lua53/lua53-src/src/lparser.c
@@ -544,6 +544,7 @@ static void open_func (LexState *ls, FuncState *fs, BlockCnt *bl) {
fs->bl = NULL;
f = fs->f;
f->source = ls->source;
+ luaC_objbarrier(ls->L, f, f->source);
f->maxstacksize = 2; /* registers 0/1 are always valid */
enterblock(fs, bl, 0);
}
@@ -1616,6 +1617,7 @@ static void mainfunc (LexState *ls, FuncState *fs) {
fs->f->is_vararg = 1; /* main function is always declared vararg */
init_exp(&v, VLOCAL, 0); /* create and... */
newupvalue(fs, ls->envn, &v); /* ...set environment upvalue */
+ luaC_objbarrier(ls->L, fs->f, ls->envn);
luaX_next(ls); /* read first token */
statlist(ls); /* parse main body */
check(ls, TK_EOS);
@@ -1634,6 +1636,7 @@ LClosure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff,
sethvalue(L, L->top, lexstate.h); /* anchor it */
luaD_inctop(L);
funcstate.f = cl->p = luaF_newproto(L);
+ luaC_objbarrier(L, cl, cl->p);
funcstate.f->source = luaS_new(L, name); /* create and anchor TString */
lua_assert(iswhite(funcstate.f)); /* do not need barrier here */
lexstate.buff = buff;