function luaK._nil(H,a,n,t)if a.pc>a.lasttarget then if a.pc==0 then if n>=a.nactvar then return end else local H=a.f.code[a.pc-1]if luaP:GET_OPCODE(H)=="\079\080\095\076\079\065\068\078\073\076"then local a=luaP:GETARG_A(H)local O=luaP:GETARG_B(H)if a<=n and n<=O+1 then if(n+t)-1>O then luaP:SETARG_B(H,(n+t)-1)end return end end end end H:codeABC(a,"\079\080\095\076\079\065\068\078\073\076",n,(n+t)-1,0)end
------------------------------------------------------------------------
-- codes loading of nil, optimization done if consecutive locations
-- * used in luaK:discharge2reg(), (lparser) luaY:adjust_assign()
------------------------------------------------------------------------
function luaK:_nil(fs, from, n)
	if fs.pc > fs.lasttarget then -- no jumps to current position?
		if fs.pc == 0 then -- function start?
			if from >= fs.nactvar then
				return -- positions are already clean
			end
		else
			local previous = fs.f.code[fs.pc - 1]
			if luaP:GET_OPCODE(previous) == "OP_LOADNIL" then
				local pfrom = luaP:GETARG_A(previous)
				local pto = luaP:GETARG_B(previous)
				if pfrom <= from and from <= pto + 1 then -- can connect both?
					if from + n - 1 > pto then
						luaP:SETARG_B(previous, from + n - 1)
					end
					return
				end
			end
		end
	end
	self:codeABC(fs, "OP_LOADNIL", from, from + n - 1, 0) -- else no optimization
end
