Claims
- 1. A fix-up code generation subsystem comprising:
- A. a fix-up code generator module configured to, in response to detection of an exception condition of a predetermined type during processing of at least one instruction in an instruction stream, generate fix-up code for said at least one instruction, the fix up code being such as to avoid the exception condition, and
- B. a fix-up code substitution module configured to substitute said fix-up code in said instruction stream for said at least one instruction.
- 2. A fix-up code generation subsystem as defined in claim 1 in which said fix-up code generator module comprises:
- A. at least one fix-up code template representative of program code for enabling emulation of said at least one of said instructions; and
- B. a fix-up code generating module configured to use the fix-up code template to generate said fix-up code for enabling emulation of said at least one of said instructions.
- 3. A fix-up code generation subsystem as defined in claim 2 in which said at least one of said instructions is a memory access instruction, the memory access instruction enabling a memory access operation in connection with a memory reference, the memory access instruction giving rise to a said exceptional condition of a non-aligned memory reference exception type if the memory reference is in a non-aligned condition, the at least one fix-up code template being representative of program code for enabling a plurality of memory access operations each in connection with an aligned memory reference thereby to avoid a said exceptional condition of said non-aligned memory reference exception type.
- 4. A fix-up code generation subsystem as defined in claim 3 in which there are a plurality of non-aligned memory reference exception types each associated with one of a plurality of non-aligned conditions,
- A. said fix-up code generator module comprising a plurality of fix-up code templates each representative of program code for enabling emulation of a memory access instruction for which the memory reference has one of said non-aligned conditions, and
- B. the fix-up code generating module being configured to use one of the fix-up code templates associated with the one of the non-aligned conditions associated with a non-aligned memory reference exception type in generating said fix-up code.
- 5. A method of generating fix-up code comprising the steps of:
- A. in response to detection of an exception condition of a predetermined type in connection with processing of at least one instruction in an instruction stream, generating fix-up code for said at least one instruction, the fix up code being such as to avoid the exception condition, and
- B. substituting said fix-up code in said instruction stream for said at least one instruction.
- 6. A method as defined in claim 5 in which said fix-up code generating step includes the steps of:
- A. providing at least one fix-up code template representative of program code for enabling emulation of said at least one of said instructions; and
- B. using the fix-up code template to generate said fix-up code for enabling emulation of said at least one of said instructions.
- 7. A method as defined in claim 6 in which said at least one of said instructions is a memory access instruction, the memory access instruction enabling a memory access operation in connection with a memory reference, the memory access instruction giving rise to a said exceptional condition of a non-aligned memory reference exception type if the memory reference is in a non-aligned condition, the at least one fix-up code template being representative of program code for enabling a plurality of memory access operations each in connection with an aligned memory reference thereby to avoid a said exceptional condition of said non-aligned memory reference exception type.
- 8. A method as defined in claim 7 in which there are a plurality of non-aligned memory reference exception types each associated with one of a plurality of non-aligned conditions,
- A. said template providing step including the step of providing a plurality of fix-up code templates each representative of program code for enabling emulation of a memory access instruction for which the memory reference has one of said non-aligned conditions, and
- B. the fix-up code generating step including the step of using one of the fix-up code templates associated with the one of the non-aligned conditions associated with a non-aligned memory reference exception type in generating said fix-up code.
- 9. A computer program product for use in connection with a computer to provide a fix-up code generation subsystem, the computer program product comprising a computer-readable medium having encoded thereon:
- A. a fix-up code generator module configured to enable said computer to, in response to detection of an exception condition of a predetermined type during processing of at least one instruction in an instruction stream, generate fix-up code for said at least one instruction, the fix up code being such as to avoid the exception condition, and
- B. a fix-up code substitution module configured to enable said computer to substitute said fix-up code in said instruction stream for said at least one instruction.
- 10. A computer program product as defined in claim 9 in which said fix-up code generator module comprises:
- A. at least one fix-up code template representative of program code for enabling emulation of said at least one of said instructions; and
- B. a fix-up code generating module configured to enable said computer to use the fix-up code template to generate said fix-up code for enabling emulation of said at least one of said instructions.
- 11. A computer program product as defined in claim 10 in which said at least one of said instructions is a memory access instruction, the memory access instruction enabling a memory access operation in connection with a memory reference, the memory access instruction giving rise to a said exceptional condition of a non-aligned memory reference exception type if the memory reference is in a non-aligned condition, the at least one fix-up code template being representative of program code for enabling a plurality of memory access operations each in connection with an aligned memory reference thereby to avoid a said exceptional condition of said non-aligned memory reference exception type.
- 12. A computer program product as defined in claim 11 in which there are a plurality of non-aligned memory reference exception types each associated with one of a plurality of non-aligned conditions,
- A. said fix-up code generator module comprising a plurality of fix-up code templates each representative of program code for enabling emulation of a memory access instruction for which the memory reference has one of said non-aligned conditions, and
- B. the fix-up code generating module being configured to enable said computer to use one of the fix-up code templates associated with the one of the non-aligned conditions associated with a non-aligned memory reference exception type in generating said fix-up code.
Parent Case Info
This is a divisional of application Ser. No. 08/657,112 filed on Jun. 3, 1996 now issued U.S. Pat. No. 5,907,708.
US Referenced Citations (6)
Divisions (1)
|
Number |
Date |
Country |
| Parent |
657112 |
Jun 1996 |
|