summaryrefslogtreecommitdiff
path: root/src/lj_func.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_func.c')
-rw-r--r--src/lj_func.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_func.c b/src/lj_func.c
index 0c0b9014..0af53cc4 100644
--- a/src/lj_func.c
+++ b/src/lj_func.c
@@ -163,8 +163,9 @@ GCfunc *lj_func_newL_gc(lua_State *L, GCproto *pt, GCfuncL *parent)
163 for (i = 0; i < nuv; i++) { 163 for (i = 0; i < nuv; i++) {
164 uint32_t v = proto_uv(pt)[i]; 164 uint32_t v = proto_uv(pt)[i];
165 GCupval *uv; 165 GCupval *uv;
166 if ((v & 0x8000)) { 166 if ((v & PROTO_UV_LOCAL)) {
167 uv = func_finduv(L, base + (v & 0xff)); 167 uv = func_finduv(L, base + (v & 0xff));
168 uv->immutable = ((v / PROTO_UV_IMMUTABLE) & 1);
168 uv->dhash = (uint32_t)(uintptr_t)mref(parent->pc, char) ^ (v << 24); 169 uv->dhash = (uint32_t)(uintptr_t)mref(parent->pc, char) ^ (v << 24);
169 } else { 170 } else {
170 uv = &gcref(puv[v])->uv; 171 uv = &gcref(puv[v])->uv;