Both flushes and replays are techniques to recover from incorrect speculative execution state. However, their cost, both in energy and in performance, differs wildly.
In this context*, a flush refers to completely removing all traces of program execution past a certain point in architectural...