IP Library Granted Patent US 8,019,983
Granted Patent B1
US 8,019,983 · App. 12/002,983 · Granted Sep 13, 2011

Setting a flag bit to defer event handling to a safe point in an instruction stream

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 8,019,983
App. No.
12/002,983
Granted
Sep 13, 2011
Kind
B1
Abstract

Methods and systems thereof for exception handling are described. An event to be handled is identified during execution of a code sequence. A bit is set to indicate that handling of the event is to be deferred. An exception corresponding to the event is generated if the bit is set.

Claims (22)

1. A computer-readable storage device having stored thereon, computer-executable instructions that, responsive to execution by a computing device, cause the computing device to perform operations comprising:

during execution of a stream of instructions demarcated by a first commit instruction and a second commit instruction and without an intervening commit instruction after the first commit instruction and before the second commit instruction, identifying an event to be handled, wherein the event is associated with a first instruction in the stream;

setting a flag bit to indicate deferred handling of the event; and

generating an exception corresponding to the event if the flag bit is set, wherein the exception causes the event to be handled at the first commit instruction if a rollback operation occurs during the execution of the stream of instructions and otherwise at the second commit instruction.

2. The computer-readable storage device of claim 1 wherein there are a plurality of flag bits and a corresponding number of instructions, wherein one of the flag bits is set for each event identified during execution of the stream, wherein an exception is generated for each of the flag bits that is set.

3. The computer-readable storage device of claim 1 wherein the event is a trap.

4. The computer-readable storage device of claim 1 wherein the stream comprises native instructions translated from non-native instructions.

5. The computer-readable storage device of claim 4 wherein the non-native instructions comprise x86 instructions and wherein the native instructions comprise Very Long Instruction Word (VLIW) instructions.

6. The computer-readable storage device of claim 1 wherein two flag bits are used for indicating that the event is to be handled, wherein one of the two flag bits is for indicating the exception is to be handled at the first commit instruction and the other of the two flag bits is for indicating the exception is to be handled at the second commit instruction.

7. The computer-readable storage device of claim 1 wherein the operations further comprise clearing the flag bit.

8. A computer system comprising:

a processor; and

memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to perform operations comprising:

during execution of a stream comprising multiple instructions, wherein the stream is demarcated by a first commit instruction and a second commit instruction and wherein the first and second commit instructions comprise consecutive commit instructions without an intervening commit instruction, identifying an event to be handled, wherein the event is associated with a first instruction of the multiple instructions;

setting a flag bit to indicate that the event is identified but handling of the event is to be deferred; and

generating an exception corresponding to the event if the flag bit is set, wherein the exception causes the event to be handled at the second commit instruction unless a rollback operation occurs during the execution of the stream and at the first commit instruction if the rollback operation occurs.

9. The computer system of claim 8 wherein there are a plurality of flag bits and a corresponding number of instructions, wherein one of the flag bits is set for each event identified during execution of the stream, wherein an exception is generated for each of the flag bits that is set.

10. The computer system of claim 8 wherein the event is a trap.

11. The computer system of claim 8 wherein the stream of the multiple instructions comprises native instructions translated from non-native instructions.

12. The computer system of claim 11 wherein the non-native instructions comprise x86 instructions and wherein the native instructions comprise Very Long Instruction Word (VLIW) instructions.

13. The computer system of claim 8 wherein two flag bits are used for indicating that the event is to be handled, wherein one of the two flag bits is for indicating the exception is to be handled at the first commit instruction and the other of the two flag bits is for indicating the exception is to be handled at the second commit instruction.

14. The computer system of claim 8 wherein the operations further comprise clearing the flag bit.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL: 036711 FRAME: 0160. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 6, 2015
From: INTELLECTUAL VENTURES FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036797/0356 →
MERGER Recorded Sep 29, 2015
From: INTELLECTUAL VENTURE FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036711/0160 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2009
From: TRANSMETA LLC
To: INTELLECTUAL VENTURE FUNDING LLC
Reel/Frame 023268/0771 →
MERGER Recorded Mar 26, 2009
From: TRANSMETA CORPORATION
To: TRANSMETA LLC
Reel/Frame 022454/0522 →