1. A method of issuing a load instruction in a program to a data cache, the method comprising: determining whether the program comprises a function return instruction within a function window of the load instruction; if the program comprises a function return instruction within the function window of the load instruction, stalling the load instruction; and if the program does not comprise a function return instruction within the function window of the load instruction, determining if the load instruction is to be speculatively issued.