1. An apparatus for storing predicted return addresses of instructions being executed by a pipelined processor, the apparatus comprising: a two part return address buffer, comprising a speculative return address buffer; and a committed return address buffer, both of which having multiple entries that may include predicted return addresses that have been pushed onto the return buffer.