function luaY.leaveblock(V,o)local q=o.bl o.bl=q.previous V:removevars(o.ls,q.nactvar)if q.upval then luaK:codeABC(o,"\079\080\095\067\076\079\083\069",q.nactvar,0,0)end assert(not q.isbreakable or not q.upval)assert(q.nactvar==o.nactvar)o.freereg=o.nactvar luaK:patchtohere(o,q.breaklist)end
------------------------------------------------------------------------
-- leaves a code unit, close any upvalues
------------------------------------------------------------------------
function luaY:leaveblock(fs)
	local bl = fs.bl
	fs.bl = bl.previous
	self:removevars(fs.ls, bl.nactvar)
	if bl.upval then
		luaK:codeABC(fs, "OP_CLOSE", bl.nactvar, 0, 0)
	end
	-- a block either controls scope or breaks (never both)
	assert(not bl.isbreakable or not bl.upval)
	assert(bl.nactvar == fs.nactvar)
	fs.freereg = fs.nactvar -- free registers
	luaK:patchtohere(fs, bl.breaklist)
end
