← Back to Patent Explorer
EP0889401A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Interpreter generation and implementation utilizing interpreter states and register caching

Assignee: Sun Microsystems Inc
•
Filing: 1998-06-29
•
Granted: —
•
Expires: 2018-06-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Systems and methods for increasing the execution speed of interpreted programs which utilize an operand stack are provided. The value for the top of the operand stack is stored in one or more registers. A state of the interpreter indicates the data type of the value for the top of the operand stack stored in the one or more registers. An interpreter may be generated that is both fast and efficient in terms of the memory required for the interpreter.

Inventors

  • 👤 Robert Griesemer

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-10-24 21:19
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/455; G06F9/45504; G06F9/45508; G06F8/00; G06F8/30

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 76 words
In a computer system including a plurality of registers, a method for implementing an interpreter including an operand stack having a top, the method comprising: storing a value for the top of the operand stack in at least one register of the plurality of registers; and utilizing a state of the interpreter to indicate a data type of the value for the top of the operand stack that is stored in the at least one register.
Claim 2
Dependent Claim 26 words
The method of claim 1, wherein the data type is selected from the group consisting of integer, long integer, single-precision floating point, and double-precision floating point.
Claim 3
Dependent Claim 33 words
The method of claim 1, wherein the data type is void to indicate that the value for the top of the operand stack is not currently stored in the at least one register.
Claim 4
Dependent Claim 22 words
The method of claim 1, wherein an instruction that utilizes the top of the operand stack accesses the at least one register.
Claim 5
Dependent Claim 25 words
The method of claim 1, wherein the plurality of registers includes at least two registers that are used for storing values of different data types.
Claim 6
Dependent Claim 35 words
The method of claim 1, wherein the data type indicated by the state of the interpreter specifies the at least one register of the plurality of registers that stores the top of the operand stack.
Claim 7
Dependent Claim 13 words
The method of claim 1, wherein the interpreter is a Java virtual machine.
Claim 8
Dependent Claim 128 words
In a computer system including a plurality of registers, a method for generating an interpreter that stores a value for a top of an operand stack in the at least one register, the method comprising: selecting a virtual machine instruction to be interpreted by the interpreter; selecting a state of the interpreter, wherein the state of the interpreter indicates a data type of the value for the top of the operand stack that is stored in at least one register of the plurality of registers; generating computer code for the interpreter to put the interpreter in an expected state for the selected virtual machine instruction if the selected state differs from the expected state; and generating computer code for the interpreter to execute the selected virtual machine instruction.
Claim 9
Dependent Claim 39 words
The method of claim 8, wherein the expected state for the selected virtual function is obtained by accessing a table indexed by virtual machine instructions that stores expected states of the interpreter before execution of the virtual machine instructions.
Claim 10
Dependent Claim 21 words
The method of claim 9, wherein the table stores current states of the interpreter after execution of the virtual machine instructions.
Claim 11
Dependent Claim 25 words
The method of claim 9, wherein the table stores pointers to functions that generate computer code for the interpreter to execute the virtual machine instructions.
Claim 12
Dependent Claim 50 words
The method of claim 8, wherein the computer code for the interpreter to execute the selected function is generated by calling a function specified in a table indexed by virtual machine instructions that stores pointers to functions that generate computer code for the interpreter to execute the virtual machine functions.
Claim 13
Dependent Claim 20 words
The method of claim 8, further comprising generating computer code for the interpreter to fetch the next virtual machine instruction.
Claim 14
Dependent Claim 43 words
The method of claim 13, further comprising generating computer code for the interpreter to jump to a location in the interpreter that executes the next virtual machine instruction for a current state of the interpreter after execution of the selected virtual machine instruction.
Claim 15
Dependent Claim 26 words
The method of claim 8, wherein the location in the interpreter handles an error if the selected virtual machine instruction is illegal for the selected state.
Claim 16
Dependent Claim 13 words
The method of claim 16, wherein the interpreter is a Java virtual machine.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag