Since evacuation failed in G1 is pretty much the same thing as promotion failed in the other young collectors implementation wise this change will change the current implementation to use a generic CopyFailedInfo object that can be inherited to separate promotion failed from evacuation failed when needed.