Increasing the size of atomic instruction blocks using control flow assertionsRePlay: A Hardware Framework for Dynamic Program Optimization