IP Library Granted Patent US 7,024,541
Granted Patent B2
US 7,024,541 · App. 10/165,268 · Granted Apr 4, 2006

Register window spill technique for retirement window having entry size less than amount of spill instructions

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,024,541
App. No.
10/165,268
Granted
Apr 4, 2006
Kind
B2
Abstract

A register window spill technique for an retirement window having an entry size less than a number of spill instructions used in a spill condition is provided. The technique uses modified spill instructions that allow the retirement window to retire a portion of the spill instructions without having to determine whether a remaining portion of the spill instructions will execute without exceptions.

Claims (23)

1. A method for performing a spill operation for a register window, comprising:

determining whether a save instruction causes a spill condition;

if the save instruction causes the spill condition, sending a portion of a spill instruction set to a retirement window of a fixed entry size less than an amount of instructions in the spill instruction set;

retiring at least one instruction of the portion of the spill instruction set, wherein execution of the at least one instruction updates a temporary register;

sending another portion of the spill instruction set to the retirement window upon retirement of the at least one instruction; and

storing contents of the temporary register to an architectural register upon exception-free execution of the portion of the spill instruction set and the another portion of the spill instruction set.

2. The method of claim 1 , wherein execution of the at least one instruction does not update an architectural register.

3. The method of claim 1 , wherein the spill instruction set comprises instructions for saving contents of a register in the register window to a program stack.

4. A method for performing a register window spill operation, comprising:

step for determining whether a save instruction causes a spill condition;

if the save instruction causes the spill condition, step for sending a portion of a spill instruction set to a retirement window of a fixed entry size less than an amount of instructions in the spill instruction set;

step for retiring at least one instruction of the portion of the spill instruction set, wherein execution of the at least one instruction updates a temporary register; and

step for sending another portion of the spill instruction set to the retirement window upon execution of the at least one and instruction; and

step for storing contents of the temporary register to an architectural register upon exception-free execution of the portion of the spill instruction set and the another portion of the spill instruction set.

5. The method of claim 4 , wherein execution of the at least one instruction does not update an architectural register.

6. A computer system, comprising:

a processor;

a memory; and

a spill instruction set, residing in the memory and executable by the processor, for saving contents of a register in a register window to a program stack in the memory, wherein the spill instruction set is arranged so as to allow a retirement window to retire a portion of the spill instruction set without a determination as to whether a remaining portion of the spill instruction set will result in at least one exception, and wherein the retirement window is of a fixed entry size less than an amount of instructions in the spill instruction set,

wherein execution of at least one instruction of the spill instruction set results in an update of a temporary register, and

wherein contents of the temporary register are stored in an architectural register upon exception-free execution of the spill instruction set.

7. The computer system of claim 6 , wherein execution of at least one instruction in the portion of the spill instruction set updates a temporary register.

8. The computer system of claim 7 , wherein the temporary register is used to save the contents of the register in the register window to the program stack.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Dec 14, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037280/0221 →