no more reference 'memerrmsg' + new reference to "n"

(both can be retrieved by 'luaS_newliteral' without creating anything,
because they are fixed, but "n" deserves fast access while 'memerrmsg'
does not)
This commit is contained in:
Roberto Ierusalimschy
2017-07-27 10:50:16 -03:00
parent 11769b203f
commit 6d998055c8
5 changed files with 24 additions and 16 deletions

5
ldo.c
View File

@@ -1,5 +1,5 @@
/*
** $Id: ldo.c,v 2.160 2017/05/23 12:50:11 roberto Exp roberto $
** $Id: ldo.c,v 2.161 2017/06/29 15:06:44 roberto Exp roberto $
** Stack and Call structure of Lua
** See Copyright Notice in lua.h
*/
@@ -91,7 +91,8 @@ struct lua_longjmp {
static void seterrorobj (lua_State *L, int errcode, StkId oldtop) {
switch (errcode) {
case LUA_ERRMEM: { /* memory error? */
setsvalue2s(L, oldtop, G(L)->memerrmsg); /* reuse preregistered msg. */
TString *memerrmsg = luaS_newliteral(L, MEMERRMSG);
setsvalue2s(L, oldtop, memerrmsg); /* reuse preregistered msg. */
break;
}
case LUA_ERRERR: {