diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2022-10-29 12:06:37 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2022-10-29 12:06:37 -0300 |
commit | 413a393e6222482f46599e138bebac162610a572 (patch) | |
tree | 181517f8ec8d56f9101de33f4891729044f244de /llex.c | |
parent | ba089bcb08a0efc6c26fb5c1e3c9d61c00cc012c (diff) | |
download | lua-413a393e6222482f46599e138bebac162610a572.tar.gz lua-413a393e6222482f46599e138bebac162610a572.tar.bz2 lua-413a393e6222482f46599e138bebac162610a572.zip |
Stack indices changed to union's
That will allow to change pointers to offsets while reallocating
the stack.
Diffstat (limited to 'llex.c')
-rw-r--r-- | llex.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -138,12 +138,12 @@ TString *luaX_newstring (LexState *ls, const char *str, size_t l) { | |||
138 | if (!ttisnil(o)) /* string already present? */ | 138 | if (!ttisnil(o)) /* string already present? */ |
139 | ts = keystrval(nodefromval(o)); /* get saved copy */ | 139 | ts = keystrval(nodefromval(o)); /* get saved copy */ |
140 | else { /* not in use yet */ | 140 | else { /* not in use yet */ |
141 | TValue *stv = s2v(L->top++); /* reserve stack space for string */ | 141 | TValue *stv = s2v(L->top.p++); /* reserve stack space for string */ |
142 | setsvalue(L, stv, ts); /* temporarily anchor the string */ | 142 | setsvalue(L, stv, ts); /* temporarily anchor the string */ |
143 | luaH_finishset(L, ls->h, stv, o, stv); /* t[string] = string */ | 143 | luaH_finishset(L, ls->h, stv, o, stv); /* t[string] = string */ |
144 | /* table is not a metatable, so it does not need to invalidate cache */ | 144 | /* table is not a metatable, so it does not need to invalidate cache */ |
145 | luaC_checkGC(L); | 145 | luaC_checkGC(L); |
146 | L->top--; /* remove string from stack */ | 146 | L->top.p--; /* remove string from stack */ |
147 | } | 147 | } |
148 | return ts; | 148 | return ts; |
149 | } | 149 | } |