'Call the Numba-compiled *callee*.'

def call_function(self, builder, callee, resty, argtys, args, env=None):

    if (env is None):
        env = cgutils.get_null_value(PYOBJECT)
    is_generator_function = isinstance(resty, types.Generator)
    retty = self._get_return_argument(callee.function_type).pointee
    retvaltmp = cgutils.alloca_once(builder, retty)
    builder.store(cgutils.get_null_value(retty), retvaltmp)
    excinfoptr = cgutils.alloca_once(builder, ir.PointerType(excinfo_t), name='excinfo')
    arginfo = self._get_arg_packer(argtys)
    args = list(arginfo.as_arguments(builder, args))
    realargs = ([retvaltmp, excinfoptr, env] + args)
    code = builder.call(callee, realargs)
    status = self._get_return_status(builder, code, builder.load(excinfoptr))
    retval = builder.load(retvaltmp)
    out = self.context.get_returned_value(builder, resty, retval)
    return (status, out)
