IP Library Granted Patent US 7,617,088
Granted Patent B1
US 7,617,088 · App. 11/110,085 · Granted Nov 10, 2009

Interpage prologue to protect virtual address mappings

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,617,088
App. No.
11/110,085
Granted
Nov 10, 2009
Kind
B1
Abstract

In a computer which translates instructions from a target instruction set to a host instruction set, a method for determining validity of a translation of a target instruction linked to an earlier translation including the steps of testing a memory address of a target instruction to be executed against a copy of the memory address of the target instruction from which a translation of the target instruction was made, executing the translation if the addresses compare, and generating an exception if the addresses do not compare.

Claims (31)

1. A method of executing target instructions on a host machine, said method comprising:

accessing a first host machine instruction, a first stored physical address of a first target machine instruction from which said first host machine instruction was translated, and a first stored pointer which mapped to said first stored physical address when said first target machine instruction was translated;

determining whether to execute said first host machine instruction by comparing a first pointer designating said first target machine instruction with said first stored pointer and comparing a first determined physical address based on said first pointer designating said first target machine instruction with said first stored physical address; and

in response to a match between said first pointer and said first stored pointer and a match between said first determined physical address and said first stored physical address, executing said first host machine instruction, wherein said first host machine instruction has a link via a jump command to a second host machine instruction.

2. The method as described in claim 1 further comprising:

in response to a mismatch between said first pointer and said first stored pointer or a mismatch between said first determined physical address and said first stored physical address, invalidating said first host machine instruction and retranslating said first target machine instruction.

3. The method as described in claim 1 further comprising:

accessing said second host machine instruction and a second stored physical address of a second target machine instruction from which said second host machine instruction was translated;

determining whether to execute said second host machine instruction by comparing a second determined physical address based on a second pointer designating said second target machine instruction with said second stored physical address; and

in response to a match between said second determined physical address and said second stored physical address, executing said second host machine instruction.

4. The method as described in claim 3 further comprising:

removing said link in response to a mismatch between said second determined physical address and said second stored physical address.

5. The method as described in claim 3 further comprising:

raising an exception in response to a mismatch between said second determined physical address and said second stored physical address.

6. The method as described in claim 3 further comprising:

in response to a mismatch between said second determined physical address and said second stored physical address, invalidating said second host machine instruction and retranslating said second target machine instruction.

7. The method as described in claim 3 further comprising:

rolling back to a last point at which a consistent state existed in response to a mismatch between said second determined physical address and said second stored physical address.

8. A method of linking host instructions, said method comprising:

translating a first target instruction into a first host instruction;

translating a second target instruction into a second host instruction;

storing with said second host instruction, a physical address of said second target instruction from which said second host instruction was translated and a pointer which mapped to said physical address when said second target instruction was translated;

determining said first host instruction will be linked to said second host instruction;

linking via a jump command from said first host instruction to said second host instruction; and

after executing said first host instruction, executing said second host instruction if performance of a physical address consistency check is successful, wherein said physical address consistency check involves comparing a determined physical address based on a pointer designating said second target instruction with said stored physical address.

9. The method as described in claim 8 further comprising:

raising an exception if said physical address consistency check is unsuccessful.

10. The method as described in claim 8 further comprising:

rolling back to a last point at which a consistent state existed if said physical address consistency check is unsuccessful.

11. The method as described in claim 8 further comprising:

removing said linking via said jump command from said first host instruction to said second host instruction if said physical address consistency check is unsuccessful.

Assignments (2)
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 →