mark all short string shared, see #1027

This commit is contained in:
Cloud Wu
2019-06-13 16:58:57 +08:00
parent ca4f549f0d
commit 7fed938593
2 changed files with 2 additions and 3 deletions

View File

@@ -75,7 +75,6 @@ void luaS_clearcache (global_State *g) {
int i, j;
for (i = 0; i < STRCACHE_N; i++)
for (j = 0; j < STRCACHE_M; j++) {
if (!isshared(g->strcache[i][j]) && iswhite(g->strcache[i][j])) /* will entry be collected? */
g->strcache[i][j] = g->memerrmsg; /* replace it with something fixed */
}
}
@@ -936,6 +935,7 @@ new_string(unsigned int h, const char *str, lu_byte l) {
memset(ts, 0, sz);
setbits(ts->marked, WHITEBITS);
gray2black(ts);
makeshared(ts);
ts->tt = LUA_TSHRSTR;
ts->hash = h;
ts->shrlen = l;