From 99d153bef9725db226614558d01df829afafee3c Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Sat, 9 Jan 2010 23:59:43 +0100 Subject: Improve alias analysis of upvalues using a disambiguation hash value. All upvalue objects hold a disambiguation hash value now. It's built from the parent prototype and the slot number. Different hash values imply the upvalues cannot alias. Same hash values don't imply anything (collision or different closures). Upvalue disambiguation makes use of a reduced hash due to IR contraints. --- lib/dump.lua | 2 ++ 1 file changed, 2 insertions(+) (limited to 'lib') diff --git a/lib/dump.lua b/lib/dump.lua index 41feff44..00f59977 100644 --- a/lib/dump.lua +++ b/lib/dump.lua @@ -397,6 +397,8 @@ local function dump_ir(tr, dumpsnap, dumpreg) local litn = litname[op] if litn and litn[op2] then out:write(" ", litn[op2]) + elseif op == "UREFO " or op == "UREFC " then + out:write(format(" #%-3d", shr(op2, 8))) else out:write(format(" #%-3d", op2)) end -- cgit v1.2.3-55-g6feb