Turn loads from immutable upvalues into constants.
This commit is contained in:
@@ -163,8 +163,9 @@ GCfunc *lj_func_newL_gc(lua_State *L, GCproto *pt, GCfuncL *parent)
|
||||
for (i = 0; i < nuv; i++) {
|
||||
uint32_t v = proto_uv(pt)[i];
|
||||
GCupval *uv;
|
||||
if ((v & 0x8000)) {
|
||||
if ((v & PROTO_UV_LOCAL)) {
|
||||
uv = func_finduv(L, base + (v & 0xff));
|
||||
uv->immutable = ((v / PROTO_UV_IMMUTABLE) & 1);
|
||||
uv->dhash = (uint32_t)(uintptr_t)mref(parent->pc, char) ^ (v << 24);
|
||||
} else {
|
||||
uv = &gcref(puv[v])->uv;
|
||||
|
||||
Reference in New Issue
Block a user