function luaY.leaveblock(Z,M)local U=M.bl M.bl=U.previous Z:removevars(M.ls,U.nactvar)if U.upval then luaK:codeABC(M,"\079\080\095\067\076\079\083\069",U.nactvar,0,0)end assert(not U.isbreakable or not U.upval)assert(U.nactvar==M.nactvar)M.freereg=M.nactvar luaK:patchtohere(M,U.breaklist)end

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
