Currently the evacuation failure handling is recording the failed objects during evacuation in a set backed by G1SegmentedArray. Later when processing the objects the set needs to be sorted to allow for efficient zapping of the areas between the live objects. During this phase we also mark the live objects in the prev mark bitmap to allow for correct verification.
We can optimize away the sorting part mention above by directly mark failing objects in the mark bitmap and use the marks to know which objects needs processing.