Update to Lua 5.4.1
Test: atest -p external/libtextclassifier
Fixes: 165898787
Fixes: 162128313
Fixes: 162128297
Test: atest -p external/libtextclassifier --all-abi
Change-Id: I7b3c82ba883ed57580e50f16c2f7450592fdec76
diff --git a/src/lfunc.c b/src/lfunc.c
index 10100e5..88d4532 100644
--- a/src/lfunc.c
+++ b/src/lfunc.c
@@ -234,9 +234,10 @@
luaF_unlinkupval(uv);
setobj(L, slot, uv->v); /* move value to upvalue slot */
uv->v = slot; /* now current value lives here */
- if (!iswhite(uv))
- gray2black(uv); /* closed upvalues cannot be gray */
- luaC_barrier(L, uv, slot);
+ if (!iswhite(uv)) { /* neither white nor dead? */
+ nw2black(uv); /* closed upvalues cannot be gray */
+ luaC_barrier(L, uv, slot);
+ }
}
return status;
}