Programs tend to have stable patterns of execution.
New processor techniques such as branch prediction, trace caches, and computation reuse all attempt to capitalize on these stable patterns in order to reduce the running time of a program. In the same spirit, the rePLay Framework uses a program's dynamic behavior to optimize its instruction stream. The key to frame construction is that of converting easily predictable branches into control flow assertions. Frames are optimized by a hardware optimizer and stored in a frame cache. In this talk, I will present our preliminary work on the rePLay Framework.