function luaK.dischargevars(d,H,e)local s=e.k if s=="\086\076\079\067\065\076"then e.k="\086\078\079\078\082\069\076\079\067"elseif s=="\086\085\080\086\065\076"then e.info=d:codeABC(H,"\079\080\095\071\069\084\085\080\086\065\076",0,e.info,0)e.k="\086\082\069\076\079\067\065\066\076\069"elseif s=="\086\071\076\079\066\065\076"then e.info=d:codeABx(H,"\079\080\095\071\069\084\071\076\079\066\065\076",0,e.info)e.k="\086\082\069\076\079\067\065\066\076\069"elseif s=="\086\073\078\068\069\088\069\068"then d:freereg(H,e.aux)d:freereg(H,e.info)e.info=d:codeABC(H,"\079\080\095\071\069\084\084\065\066\076\069",0,e.info,e.aux)e.k="\086\082\069\076\079\067\065\066\076\069"elseif s=="\086\086\065\082\065\082\071"or s=="\086\067\065\076\076"then d:setoneret(H,e)else end end
------------------------------------------------------------------------
--
-- * used in multiple locations
------------------------------------------------------------------------
function luaK:dischargevars(fs, e)
	local k = e.k
	if k == "VLOCAL" then
		e.k = "VNONRELOC"
	elseif k == "VUPVAL" then
		e.info = self:codeABC(fs, "OP_GETUPVAL", 0, e.info, 0)
		e.k = "VRELOCABLE"
	elseif k == "VGLOBAL" then
		e.info = self:codeABx(fs, "OP_GETGLOBAL", 0, e.info)
		e.k = "VRELOCABLE"
	elseif k == "VINDEXED" then
		self:freereg(fs, e.aux)
		self:freereg(fs, e.info)
		e.info = self:codeABC(fs, "OP_GETTABLE", 0, e.info, e.aux)
		e.k = "VRELOCABLE"
	elseif k == "VVARARG" or k == "VCALL" then
		self:setoneret(fs, e)
	else
		-- there is one value available (somewhere)
	end
end
