added 'local' bit (true => object is only refered by local variables)

This commit is contained in:
Roberto Ierusalimschy
2013-08-16 15:55:49 -03:00
parent 3679d33b02
commit 439d74e29f
10 changed files with 96 additions and 53 deletions

View File

@@ -1,5 +1,5 @@
/*
** $Id: lundump.c,v 2.22 2012/05/08 13:53:33 roberto Exp roberto $
** $Id: lundump.c,v 2.23 2013/04/26 18:48:35 roberto Exp roberto $
** load precompiled Lua chunks
** See Copyright Notice in lua.h
*/
@@ -84,9 +84,12 @@ static TString* LoadString(LoadState* S)
return NULL;
else
{
TString* ts;
char* s=luaZ_openspace(S->L,S->b,size);
LoadBlock(S,s,size*sizeof(char));
return luaS_newlstr(S->L,s,size-1); /* remove trailing '\0' */
ts = luaS_newlstr(S->L,s,size-1); /* remove trailing '\0' */
nolocal(obj2gco(ts)); /* all strings here anchored in non-thread objects */
return ts;
}
}