这个是将来完成时态的形式啊,用于表示:将来能完成的事情,将来已经做了某事.would have done的确是用于虚拟语气的,而且是表示对过去的虚拟,主句用would have done,从句用过去完成时态.
希望对你有所帮助啊!