Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
104 words
A method of translating guest instructions to host instructions executable on a host processor, comprising: a. determining length of one of the guest instructions based on a dynamic recompiling offset table; b. generating a multi-word entry of host instructions in a memory if the length is greater than a certain number of bytes; c. generating an inline entry of host instructions in the memory if the guest instruction is not greater than the certain number of bytes and the inline entry constitutes a predetermined first number of host instructions; and d. returning to step a. to calculate the length of a next guest instruction.
Claim 2
Independent Claim
104 words
A method of translating guest instructions to host instructions executable on a host processor, comprising: a. determining length of one of the guest instructions based on a dynamic recompiling offset table; b. generating a multi-word entry of host instructions in a memory if the length is greater than a certain number of bytes; c. generating an inline entry of host instructions in the memory if the guest instruction is not greater than the certain number of bytes and the inline entry constitutes a predetermined first number of host instructions; and d. returning to step a. to calculate the length of a next guest instruction.
Claim 3
Dependent Claim
16 words
A method, according to claim 1, wherein the predetermined first number of host instructions is two.
Claim 4
Dependent Claim
58 words
A method, according to claim 2, further comprising the step of generating a double inline entry of host instructions in the memory if the guest instruction is not greater than the certain number of bytes and the double inline entry constitutes a predetermined second number of host instructions. wherein the second number is greater than the first number.
Claim 5
Dependent Claim
15 words
method, according to claim 3, wherein the predetermined second number of host instructions is three.
Claim 6
Independent Claim
280 words
A method of dispatching host instructions, corresponding to a guest instruction, executable on a host processor, comprising: a. storing the guest instruction in a first memory; b. generating an address having a first tag and corresponding to the guest instruction; c. storing in a line of a second memory a series of host instructions and a second tag corresponding to the series. wherein the series of host instructions are generated based on an interpretive dispatch table entry, wherein the interpretive dispatch table entry includes a first host instruction of the series of host instructions; d. mapping the address to the second memory to access the second tag; e. comparing the first tag and the second tag; and f. executing the series of host instructions if the first tag and the second tag match or filling the second memory with a second series of host instructions and a third tag corresponding to the first tag of the address if the first tag and the second tag do not match; wherein the line of the second memory comprises a plurality of line entries; wherein the step of filling comprises filling a line entry of the line of the second memory with the second series of host instructions and continuing to fill all other line entries of the line of the second memory with replacement host instructions; and wherein, if fewer than all of the line entries of the second memory are filled with host instructions emulating to a guest instruction, then the line entries of the second memory that are not filled with host instructions emulating to a guest instruction are filled with replacement host instructions which invoke a dynamic recompilation process.
Claim 7
Independent Claim
280 words
A method of dispatching host instructions, corresponding to a guest instruction, executable on a host processor, comprising: a. storing the guest instruction in a first memory; b. generating an address having a first tag and corresponding to the guest instruction; c. storing in a line of a second memory a series of host instructions and a second tag corresponding to the series. wherein the series of host instructions are generated based on an interpretive dispatch table entry, wherein the interpretive dispatch table entry includes a first host instruction of the series of host instructions; d. mapping the address to the second memory to access the second tag; e. comparing the first tag and the second tag; and f. executing the series of host instructions if the first tag and the second tag match or filling the second memory with a second series of host instructions and a third tag corresponding to the first tag of the address if the first tag and the second tag do not match; wherein the line of the second memory comprises a plurality of line entries; wherein the step of filling comprises filling a line entry of the line of the second memory with the second series of host instructions and continuing to fill all other line entries of the line of the second memory with replacement host instructions; and wherein, if fewer than all of the line entries of the second memory are filled with host instructions emulating to a guest instruction, then the line entries of the second memory that are not filled with host instructions emulating to a guest instruction are filled with replacement host instructions which invoke a dynamic recompilation process.
Claim 8
Independent Claim
138 words
A method of dynamically recompiling (DR) host instructions executable on a host processor and emulating guest instructions, comprising: a. providing a first memory storing the host instructions by: allocating an address space for an interpretive dispatch table, wherein each entry in the interpretive dispatch table includes a first host instruction for emulation of a guest instruction; allocating an address space for a DR offset table; and allocating an address space for a DR semantic routine accessible via the DR offset table, wherein subsequent host instructions for emulation of the guest instruction are stored in the DR semantic routine; b. providing a second memory having lines with line entries for storing dynamically recompiled host instructions; and c. copying a! at least one host instruction from the first memory into a line entry of a line of the second memory.
Claim 9
Independent Claim
138 words
A method of dynamically recompiling (DR) host instructions executable on a host processor and emulating guest instructions, comprising: a. providing a first memory storing the host instructions by: allocating an address space for an interpretive dispatch table, wherein each entry in the interpretive dispatch table includes a first host instruction for emulation of a guest instruction; allocating an address space for a DR offset table; and allocating an address space for a DR semantic routine accessible via the DR offset table, wherein subsequent host instructions for emulation of the guest instruction are stored in the DR semantic routine; b. providing a second memory having lines with line entries for storing dynamically recompiled host instructions; and c. copying a! at least one host instruction from the first memory into a line entry of a line of the second memory.
Claim 10
Dependent Claim
45 words
A method, according to claim 6, wherein the step of copying comprises: a. copying directly the first host instruction from the interpretive dispatch table into the line entry; and b. copying directly a second host instruction from the DR semantic routine into the line entry.
Claim 11
Dependent Claim
49 words
A method, according to claim 7, further comprising: a. loading into the line entry a third host instruction for incrementing a program counter for a next guest instruction; and b. loading into the line entry a fourth host instruction for checking for events that may occur on instruction boundaries.
Claim 12
Independent Claim
97 words
A method of translating a guest instruction to host instructions executable on a host processor, comprising: determining if an entry of host instructions corresponding to the guest instruction is present in a memory; if the entry of host instructions is not present in the memory, determining length of the guest instruction based on a dynamic recompiling offset table; and if the length of the guest instruction is greater than a predetermined number of bytes: generating the entry of host instructions as a multi-word entry of host instructions; and storing the entry of host instructions in the memory.
Claim 13
Independent Claim
97 words
A method of translating a guest instruction to host instructions executable on a host processor, comprising: determining if an entry of host instructions corresponding to the guest instruction is present in a memory; if the entry of host instructions is not present in the memory, determining length of the guest instruction based on a dynamic recompiling offset table; and if the length of the guest instruction is greater than a predetermined number of bytes: generating the entry of host instructions as a multi-word entry of host instructions; and storing the entry of host instructions in the memory.
Claim 14
Independent Claim
109 words
A method of translating a guest instruction to host instructions executable on a host processor, comprising: determining if an entry of host instructions corresponding to the guest instruction is present in a memory; if the entry of host instructions is not present in the memory, determining length of the guest instruction based on a dynamic recompiling offset table; if the length of the guest instruction is not greater than a predetermined number of bytes and a predetermined first number of host instructions emulate the guest instruction, generating the entry of host instructions as an inline entry of host instructions; and storing the entry of host instructions in the memory.
Claim 15
Independent Claim
109 words
A method of translating a guest instruction to host instructions executable on a host processor, comprising: determining if an entry of host instructions corresponding to the guest instruction is present in a memory; if the entry of host instructions is not present in the memory, determining length of the guest instruction based on a dynamic recompiling offset table; if the length of the guest instruction is not greater than a predetermined number of bytes and a predetermined first number of host instructions emulate the guest instruction, generating the entry of host instructions as an inline entry of host instructions; and storing the entry of host instructions in the memory.
Claim 16
Dependent Claim
15 words
The method of claim 10, wherein the predetermined first number of host instructions is two.
Claim 17
Independent Claim
65 words
A method of translating a guest instruction to host instructions executable on a host processor, comprising: determining length of the guest instruction using a dynamic recompiling offset table; generating an entry of host instructions as an inline entry of host instructions if the guest instruction is not greater than a predetermined number of bytes and the inline entry constitutes a predetermined number of host instructions.
Claim 18
Independent Claim
65 words
A method of translating a guest instruction to host instructions executable on a host processor, comprising: determining length of the guest instruction using a dynamic recompiling offset table; generating an entry of host instructions as an inline entry of host instructions if the guest instruction is not greater than a predetermined number of bytes and the inline entry constitutes a predetermined number of host instructions.
Claim 19
Dependent Claim
46 words
The method of claim 12, wherein the step of generating an entry of host instructions further comprises generating an entry of host instructions using an interpretive dispatch table, wherein an entry in the interpretive dispatch table includes a first host instruction for emulating the guest instruction.
Claim 20
Dependent Claim
51 words
The method of claim 13, wherein the step of generating an entry of host instructions further comprises generating an entry of host instructions using a interpretive dispatch table and a dynamic recompiling semantic routine section, wherein the dynamic recompiling semantic routine section includes subsequent host instructions for emulating the guest instruction.