> Returning to an alternate address shouldn’t be significantly more expensive than returning to the default address, so this has to be cheap.<p>Modern CPUs add complications to arguments like this. Branches stall the execution pipeline, so branch prediction was invented to keep the pipeline flowing. Return instructions are <i>perfectly</i> predicted, which makes them literally free. At the very least, any alternate return scheme has to pay for a full misprediction. That can be expensive.