What is the distinction in your mind? Can recompiling not call each instruction? Can threaded interpretation not perform optimization?