← Back to Patent Explorer
US6308318B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for handling asynchronous exceptions in a dynamic translation system

Assignee: Hewlett Packard Enterprise Development LP
•
Filing: 1998-10-07
•
Granted: 2001-10-23
•
Expires: 2018-10-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for handling asynchronous exceptions in a dynamic translation system. In accordance with the present invention, the dynamic translation system utilizes an interpreter to determine when a point in the translated code has been reached at which application state is recoverable. When an asynchronous event occurs, execution of translated instructions in hardware is halted and control is transferred to the interpreter at the point at which the exception occurred during the translation. The interpreter then executes the translated code from the point of interruption and checks for a guaranteed application state recoverable point, or GAR point, at the end of each instruction or block of instructions. Once a GAR point is reached, control is transferred to an asynchronous exception handler. Since control is only transferred to the interpreter once an asynchronous exception has occurred, overhead relating to the handling of asynchronous exceptions is only incurred when an asynchronous exception is actually pending.

Inventors

  • 👤 Umesh Krishnaswamy

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 08:18
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/542; G06F2209/00; G06F2209/48; G06F2209/481

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 153 words
A dynamic translation system comprising: a translator, the translator translating input code into output code and outputting the output code from the translator; a memory device in communication with the translator, the memory device receiving the output code from the translator and storing the output code in the memory device; a system controller, the system controller determining when an exception has occurred; and an interpreter in communication with the translator and with the system controller, wherein when the system controller determines that an exception has occurred, the system controller transfers control to the interpreter and the interpreter begins executing the output code, the interpreter determining when a point is reached in the output code at which application state is recoverable an d providing an indication that said point has been reached to the system controller, the system controller transferring control to an exception handler when said indication is received by the system controller.
Claim 2
Dependent Claim 153 words
A dynamic translation system comprising: a translator, the translator translating input code into output code and outputting the output code from the translator; a memory device in communication with the translator, the memory device receiving the output code from the translator and storing the output code in the memory device; a system controller, the system controller determining when an exception has occurred; and an interpreter in communication with the translator and with the system controller, wherein when the system controller determines that an exception has occurred, the system controller transfers control to the interpreter and the interpreter begins executing the output code, the interpreter determining when a point is reached in the output code at which application state is recoverable an d providing an indication that said point has been reached to the system controller, the system controller transferring control to an exception handler when said indication is received by the system controller.
Claim 3
Dependent Claim 58 words
The dynamic translation system of claim 1 , wherein the interpreter executes the input code and provides profile information to the translator, the profile information identifying instructions of the input code to be executed a plurality of times, wherein the translator only stores the instructions of the input code identified in the profile information in the memory device.
Claim 4
Dependent Claim 40 words
The dynamic translation system of claim 2 , wherein the dynamic translation system is comprised in a computer system, the computer system comprising hardware running an operating system, the operating system notifying the system controller when an exception has occurred.
Claim 5
Dependent Claim 21 words
The dynamic translation system of claim 3 , wherein the exception corresponds to an asynchronous exception intended for the input code.
Claim 6
Dependent Claim 17 words
The dynamic translation system of claim 4 , wherein the memory device is a cache memory device.
Claim 7
Dependent Claim 20 words
The dynamic translation system of claim 5 , wherein the interpreter is a software program being executed by the hardware.
Claim 8
Dependent Claim 65 words
The dynamic translation system of claim 6 , wherein the hardware obtains the output code from the cache memory device and executes the output code and wherein when the system controller is notified by the operating system that an asynchronous exception has occurred, the system controller causes the execution of the output code in the hardware to be halted and transfers control to the interpreter.
Claim 9
Dependent Claim 151 words
A dynamic translation system comprising: means for translating input code into output code and for outputting the output code from the means for translating; means for storing output code output from the translating means; means for controlling the operation of the dynamic translation system, the controlling means comprising means for determining when an exception has occurred; and means for executing the output code and for determining when a point is reached in the output code at which application state is recoverable, the executing means receiving a notification from the controlling means that an exception has occurred, wherein when the executing means receives the notification, the executing means begins executing the output code, wherein when the executing means determines that said point has been reached, the executing means provides an indication to the controlling means, wherein when the controlling means receives said indication, the controlling means transfers control to an exception handler.
Claim 10
Dependent Claim 151 words
A dynamic translation system comprising: means for translating input code into output code and for outputting the output code from the means for translating; means for storing output code output from the translating means; means for controlling the operation of the dynamic translation system, the controlling means comprising means for determining when an exception has occurred; and means for executing the output code and for determining when a point is reached in the output code at which application state is recoverable, the executing means receiving a notification from the controlling means that an exception has occurred, wherein when the executing means receives the notification, the executing means begins executing the output code, wherein when the executing means determines that said point has been reached, the executing means provides an indication to the controlling means, wherein when the controlling means receives said indication, the controlling means transfers control to an exception handler.
Claim 11
Dependent Claim 73 words
The dynamic translation system of claim 8 , wherein the executing means comprises means for interpreting the input code and for providing profile information to the translating means, the profile information identifying instructions of the input code to be executed a plurality of times by hardware in communication with the controlling means, wherein the translating means stores the instructions of the input code identified in the profile information in the means for storing.
Claim 12
Dependent Claim 43 words
The dynamic translation system of claim 9 , wherein the dynamic translation system is comprised in a computer system, the computer system comprising said hardware, said hardware running an operating system, the operating system notifying the controlling means when an exception has occurred.
Claim 13
Dependent Claim 21 words
The dynamic translation system of claim 10 , wherein the exception corresponds to an asynchronous exception intended for the input code.
Claim 14
Dependent Claim 31 words
The dynamic translation system of claim 11 , wherein the executing means is an interpreter, the interpreter being implemented as a software program, the software program being executed by the hardware.
Claim 15
Dependent Claim 102 words
The dynamic translation system of claim 12 , wherein the hardware obtains the output code from the means for storing and executes the output code and wherein when the controlling means is notified by the operating system that an asynchronous exception has occurred, the controlling means causes the execution of the output code in the hardware to be halted and transfers control to the interpreter, wherein when control is transferred to the interpreter, the interpreter begins executing the output code and checking at the end of each block of instructions of the output code to determine whether said point has been reached.
Claim 16
Independent Claim 97 words
A method for dynamically translating input code into output code, the method comprising the steps of: translating input code into output code; storing the output code in a memory element; detecting when an exception has occurred; when the occurrence of an exception is detected, executing the translated input code one instruction at a time; during the execution of the translated input code, determining when a point is reached in the translated input code at which application state is recoverable; and when an exception has occurred and said point has been reached, transferring control to an exception handler.
Claim 17
Independent Claim 97 words
A method for dynamically translating input code into output code, the method comprising the steps of: translating input code into output code; storing the output code in a memory element; detecting when an exception has occurred; when the occurrence of an exception is detected, executing the translated input code one instruction at a time; during the execution of the translated input code, determining when a point is reached in the translated input code at which application state is recoverable; and when an exception has occurred and said point has been reached, transferring control to an exception handler.
Claim 18
Dependent Claim 25 words
The method of claim 14 , wherein only output code identified in profile information as corresponding to hot code is stored in the memory element.
Claim 19
Dependent Claim 30 words
The method of claim 15 , wherein an operating system of a computer system detects when an exception has occurred and notifies a system controller that an exception has occurred.
Claim 20
Dependent Claim 36 words
The method of claim 16 , wherein the exception corresponds to an asynchronous exception intended for the input code and wherein an interpreter executes the translated input code and determines when said point has been reached.
Claim 21
Dependent Claim 19 words
The method of claim 17 , wherein the interpreter notifies the system controller when said point has been reached.
Claim 22
Dependent Claim 35 words
The method of claim 18 , wherein when the system controller is notified that an asynchronous exception has occurred and that said point has been reached, the system controller transfers control to said exception handler.

References Cited (Backward Citations)

US5572525A Cited
US5732235A Cited
US5758140A Cited
US5742802A Cited
US6031992A Cited
US5764962A Cited
US6021275A Cited
US5832205A Cited
US5838978A Cited
US6044220A Cited
US5895494A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-10-22 2005-04-23 2005-10-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-10-22 2009-04-23 2009-10-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-10-22 2013-04-23 2013-10-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag