1. A method for recovering a global history vector in the event of a non-branch flush comprising the steps of: receiving a tag, wherein said tag is associated with a flush operation; resetting a next-to-write pointer in a queue using said received tag; reading a global history vector from said queue in an entry indexed by said tag; inserting a copy of said global history vector read into a global history vector mechanism, wherein said global history vector mechanism is configured to update said global history vector in a first mode; and transmitting a command to said global history vector mechanism to enter a second mode if said flush operation is a flush to a group of instructions that contains no branch instructions and said tag does not equal said next-to-write pointer, wherein said global history vector mechanism does not update said global history vector in said second mode.