diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-12-06 16:36:31 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-12-06 16:36:31 -0200 |
commit | 49dfaf7447ab707d17fc6061fe1d59c187e4e221 (patch) | |
tree | a2864af4cacbcd225ca33e27087a6cf39fe6a1de /lparser.c | |
parent | 348fa1ca56efeb81ef66d8f09c3cd1405b0a121d (diff) | |
download | lua-github-49dfaf7447ab707d17fc6061fe1d59c187e4e221.tar.gz |
avoid using one function for different tasks (malloc, free, etc.)
Diffstat (limited to 'lparser.c')
-rw-r--r-- | lparser.c | 25 |
1 files changed, 9 insertions, 16 deletions
@@ -1,5 +1,5 @@ /* -** $Id: lparser.c,v 2.168 2017/11/23 16:35:54 roberto Exp roberto $ +** $Id: lparser.c,v 2.169 2017/11/30 13:29:18 roberto Exp roberto $ ** Lua Parser ** See Copyright Notice in lua.h */ @@ -569,21 +569,14 @@ static void close_func (LexState *ls) { luaK_ret(fs, 0, 0); /* final return */ leaveblock(fs); luaK_finish(fs); - luaM_reallocvector(L, f->code, f->sizecode, fs->pc, Instruction); - f->sizecode = fs->pc; - luaM_reallocvector(L, f->lineinfo, f->sizelineinfo, fs->pc, ls_byte); - f->sizelineinfo = fs->pc; - luaM_reallocvector(L, f->abslineinfo, f->sizeabslineinfo, - fs->nabslineinfo, AbsLineInfo); - f->sizeabslineinfo = fs->nabslineinfo; - luaM_reallocvector(L, f->k, f->sizek, fs->nk, TValue); - f->sizek = fs->nk; - luaM_reallocvector(L, f->p, f->sizep, fs->np, Proto *); - f->sizep = fs->np; - luaM_reallocvector(L, f->locvars, f->sizelocvars, fs->nlocvars, LocVar); - f->sizelocvars = fs->nlocvars; - luaM_reallocvector(L, f->upvalues, f->sizeupvalues, fs->nups, Upvaldesc); - f->sizeupvalues = fs->nups; + luaM_shrinkvector(L, f->code, f->sizecode, fs->pc, Instruction); + luaM_shrinkvector(L, f->lineinfo, f->sizelineinfo, fs->pc, ls_byte); + luaM_shrinkvector(L, f->abslineinfo, f->sizeabslineinfo, + fs->nabslineinfo, AbsLineInfo); + luaM_shrinkvector(L, f->k, f->sizek, fs->nk, TValue); + luaM_shrinkvector(L, f->p, f->sizep, fs->np, Proto *); + luaM_shrinkvector(L, f->locvars, f->sizelocvars, fs->nlocvars, LocVar); + luaM_shrinkvector(L, f->upvalues, f->sizeupvalues, fs->nups, Upvaldesc); lua_assert(fs->bl == NULL); ls->fs = fs->prev; luaC_checkGC(L); |