Patent ID: 7844804

Claim:
A method of managing a shadow register file system having one or more shadow register files, comprising: allocating to a first procedure or one or more multi-port registers from a physical register file to which a portion of a logical register stack is mapped that is being used by the first procedure, and storing data associated with the first procedure in the allocated multi-port registers; selectively saving data associated with the first procedure from the one or more multi-port registers to one or more registers of a first shadow register file of a shadow register file system, the one or more registers having independent data read/write ports, and releasing the corresponding allocated multi-port registers for allocation to a second procedure; saving the data associated with the first procedure from the first shadow register file to a second shadow register file of the shadow register file system; storing at least a portion of the data associated with the first procedure froma particular register of the second shadow register file to a backing store, and subsequently retrieving the portion of the data associated with the first procedure from the backing store to the particular register of the second shadow register file; retrieving the data from the second shadow register file to the one or more registers of the first shadow register file; and prior to continued execution of the first procedure, restoring data associated with the first procedure from the one or more registers to the one or more multi-port registers and re-allocating the one or more multi-port registers to the first procedure.