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
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.