Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
326 words
A method of operating a computer system, the steps of the method comprising: (A) storing a program in a memory, the program including a sequence of bytecodes, where each of a multiplicity of said bytecodes each represents an operation on data of a specific data type; said each bytecode having associated data type restrictions on the data type of data to be manipulated by said each bytecode; (B) prior to execution of said program, preprocessing said program by determining whether execution of any bytecode in said program would violate said data type restrictions for that bytecode and generating a program fault signal when execution of any bytecode in said program would violate the data type restrictions for that bytecode; (C) when said preprocessing of said program results in the generation of no program fault signals, enabling execution of said program; (D) when said preprocessing of said program results in the generation of a program fault, preventing execution of said program; and (E) when execution of said bytecode program has been enabled, executing said bytecode program without performing data type checks on operands stored in said operand stack during execution of said bytecode program; said bytecode program including at least one execution loop; said step (B) including determining the state of a virtual stack associated with said program before and after execution of each said bytecode in the program, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program; and determining whether execution of any loop in said program would result in a net addition or deletion of operands to said operand stack, and for generating a program fault signal when execution of any loop in said program would produce a net addition or deletion of operands to said operand stack; and said executing step including executing said bytecode program without performing operand stack underflow and overflow checks during execution of said bytecode program.
Claim 2
Independent Claim
326 words
A method of operating a computer system, the steps of the method comprising: (A) storing a program in a memory, the program including a sequence of bytecodes, where each of a multiplicity of said bytecodes each represents an operation on data of a specific data type; said each bytecode having associated data type restrictions on the data type of data to be manipulated by said each bytecode; (B) prior to execution of said program, preprocessing said program by determining whether execution of any bytecode in said program would violate said data type restrictions for that bytecode and generating a program fault signal when execution of any bytecode in said program would violate the data type restrictions for that bytecode; (C) when said preprocessing of said program results in the generation of no program fault signals, enabling execution of said program; (D) when said preprocessing of said program results in the generation of a program fault, preventing execution of said program; and (E) when execution of said bytecode program has been enabled, executing said bytecode program without performing data type checks on operands stored in said operand stack during execution of said bytecode program; said bytecode program including at least one execution loop; said step (B) including determining the state of a virtual stack associated with said program before and after execution of each said bytecode in the program, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program; and determining whether execution of any loop in said program would result in a net addition or deletion of operands to said operand stack, and for generating a program fault signal when execution of any loop in said program would produce a net addition or deletion of operands to said operand stack; and said executing step including executing said bytecode program without performing operand stack underflow and overflow checks during execution of said bytecode program.
Claim 3
Independent Claim
301 words
A method of operating a computer system, the steps of the method comprising: (A) storing a program in a memory, the program including a sequence of bytecodes, where each of a multiplicity of said bytecodes each represents an operation on data of a specific data type; said each bytecode having associated data type restrictions on the data type of data to be manipulated by said each bytecode; (B) prior to execution of said program, preprocessing said program by determining whether execution of any bytecode in said program would violate said data type restrictions for that bytecode and generating a program fault signal when execution of any bytecode in said program would violate the data type restrictions for that bytecode; (C) when said preprocessing of said program results in the generation of no program fault signals, enabling execution of said program; (D) when said preprocessing of said program results in the generation of a program fault, preventing execution of said program; and (E) when execution of said bytecode program has been enabled, executing said bytecode program without performing data type checks on operands stored in said operand stack during execution of said bytecode program; said bytecode program including a plurality of jump/branch bytecodes; said step (B) including determining, whenever two or more bytecodes in said program comprise jumps/branches to an identical location in said program, whether the states of a virtual stack are identical prior to execution of each of said jump/branches, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program, and for generating a program fault signal if said virtual stack states are not identical; and said executing step (E) including executing said bytecode program without performing operand stack status checks during execution of said bytecode program.
Claim 4
Independent Claim
301 words
A method of operating a computer system, the steps of the method comprising: (A) storing a program in a memory, the program including a sequence of bytecodes, where each of a multiplicity of said bytecodes each represents an operation on data of a specific data type; said each bytecode having associated data type restrictions on the data type of data to be manipulated by said each bytecode; (B) prior to execution of said program, preprocessing said program by determining whether execution of any bytecode in said program would violate said data type restrictions for that bytecode and generating a program fault signal when execution of any bytecode in said program would violate the data type restrictions for that bytecode; (C) when said preprocessing of said program results in the generation of no program fault signals, enabling execution of said program; (D) when said preprocessing of said program results in the generation of a program fault, preventing execution of said program; and (E) when execution of said bytecode program has been enabled, executing said bytecode program without performing data type checks on operands stored in said operand stack during execution of said bytecode program; said bytecode program including a plurality of jump/branch bytecodes; said step (B) including determining, whenever two or more bytecodes in said program comprise jumps/branches to an identical location in said program, whether the states of a virtual stack are identical prior to execution of each of said jump/branches, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program, and for generating a program fault signal if said virtual stack states are not identical; and said executing step (E) including executing said bytecode program without performing operand stack status checks during execution of said bytecode program.
Claim 5
Independent Claim
204 words
A method of operating a computer system, the steps of the method comprising: (A) storing a program in a memory, said program including a sequence of bytecodes, including a plurality of jump/branch bytecodes; (B) prior to execution of said program, preprocessing said program by: determining the state of a virtual stack associated with said program before and after execution of each said bytecode in the program, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program; and determining, whenever two or more bytecodes in said program comprise jumps/branches to an identical location in said program, whether the states of the virtual stack are identical prior to execution of each of said jump/branches, and generating a program fault signal if said virtual stack states are not identical; (C) when said preprocessing of said program results in the generation of no program fault signals, enabling execution of said program; (D) when said preprocessing of said program results in the generation of a program fault, preventing execution of said program; and (E) when execution of said program has been enabled, executing said program without performing operand stack status checks during execution of said program.
Claim 6
Independent Claim
204 words
A method of operating a computer system, the steps of the method comprising: (A) storing a program in a memory, said program including a sequence of bytecodes, including a plurality of jump/branch bytecodes; (B) prior to execution of said program, preprocessing said program by: determining the state of a virtual stack associated with said program before and after execution of each said bytecode in the program, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program; and determining, whenever two or more bytecodes in said program comprise jumps/branches to an identical location in said program, whether the states of the virtual stack are identical prior to execution of each of said jump/branches, and generating a program fault signal if said virtual stack states are not identical; (C) when said preprocessing of said program results in the generation of no program fault signals, enabling execution of said program; (D) when said preprocessing of said program results in the generation of a program fault, preventing execution of said program; and (E) when execution of said program has been enabled, executing said program without performing operand stack status checks during execution of said program.
Claim 7
Dependent Claim
59 words
The method of claim 3, said step (B) including determining, whether execution of any loop in said program would result in a net addition or deletion of operands to said operand stack and generating a program fault signal when execution of any loop in said program would produce a net addition or deletion of operands to said operand stack.
Claim 8
Independent Claim
215 words
A method of operating a computer system, the steps of the method comprising: (A) storing a program in a memory, the program including a sequence of bytecodes, including a plurality of jump/branch bytecodes; said program including at least one execution loop; (B) prior to execution of said program, preprocessing said program by determining the state of a virtual stack associated with said program before and after execution of each said bytecode in the program, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program; and determining whether execution of any loop in said program would result in a net addition or deletion of operands to said operand stack and generating a program fault signal when execution of any loop in said program would produce a net addition or deletion of operands to said operand stack; (C) when said preprocessing of said program results in the generation of no program fault signals, enabling execution of said program; (D) when said preprocessing of said program results in the generation of a program fault, preventing execution of said program; and (E) when execution of said program has been enabled, executing said program without performing operand stack underflow and overflow checks during execution of said program.
Claim 9
Independent Claim
215 words
A method of operating a computer system, the steps of the method comprising: (A) storing a program in a memory, the program including a sequence of bytecodes, including a plurality of jump/branch bytecodes; said program including at least one execution loop; (B) prior to execution of said program, preprocessing said program by determining the state of a virtual stack associated with said program before and after execution of each said bytecode in the program, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program; and determining whether execution of any loop in said program would result in a net addition or deletion of operands to said operand stack and generating a program fault signal when execution of any loop in said program would produce a net addition or deletion of operands to said operand stack; (C) when said preprocessing of said program results in the generation of no program fault signals, enabling execution of said program; (D) when said preprocessing of said program results in the generation of a program fault, preventing execution of said program; and (E) when execution of said program has been enabled, executing said program without performing operand stack underflow and overflow checks during execution of said program.
Claim 10
Dependent Claim
222 words
A computer system, comprising: memory for storing a bytecode program, the bytecode program including a sequence of bytecodes, where each of a multiplicity of said bytecodes (A) represents an operation on data of a specific data type, and, (B) has associated data type restrictions on the data type of data to be manipulated by that bytecode; a data processing unit for executing programs stored in said memory; a bytecode program verifier, stored in said memory, said bytecode program verifier including data type testing instructions for determining whether execution of any bytecode in said program would violate said data type restrictions for that bytecode and generating a program fault signal when execution of any bytecode in said program would violate the data type restrictions for that bytecode; program execution enabling instructions that enable execution of said bytecode program only after processing said bytecode program by said bytecode program verifier generates no program fault signals; and a bytecode program interpreter, coupled to said program execution enabling instructions, for executing said bytecode program after processing of said bytecode program by said bytecode program verifier and after said program execution enabling instructions enable execution of said bytecode program by said bytecode program interpreter; said bytecode program interpreter including instructions for executing said bytecode program without performing data type checks on operands stored in an operand stack.
Claim 11
Dependent Claim
222 words
A computer system, comprising: memory for storing a bytecode program, the bytecode program including a sequence of bytecodes, where each of a multiplicity of said bytecodes (A) represents an operation on data of a specific data type, and, (B) has associated data type restrictions on the data type of data to be manipulated by that bytecode; a data processing unit for executing programs stored in said memory; a bytecode program verifier, stored in said memory, said bytecode program verifier including data type testing instructions for determining whether execution of any bytecode in said program would violate said data type restrictions for that bytecode and generating a program fault signal when execution of any bytecode in said program would violate the data type restrictions for that bytecode; program execution enabling instructions that enable execution of said bytecode program only after processing said bytecode program by said bytecode program verifier generates no program fault signals; and a bytecode program interpreter, coupled to said program execution enabling instructions, for executing said bytecode program after processing of said bytecode program by said bytecode program verifier and after said program execution enabling instructions enable execution of said bytecode program by said bytecode program interpreter; said bytecode program interpreter including instructions for executing said bytecode program without performing data type checks on operands stored in an operand stack.
Claim 12
Dependent Claim
170 words
The computer system of claim 6, said bytecode program verifier including stack status tracking instructions for determining the state of a virtual stack associated with said bytecode program before and after execution of each said bytecode in the bytecode program, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said bytecode program; stack overflow/underflow testing instructions for determining (A) whether execution of said bytecode program would result in an operand stack underflow or overflow, and (B) whether execution of any loop in said bytecode program would result in a net addition or deletion of operands to said operand stack, and for generating a program fault signal when execution of any loop in said bytecode program would produce a net addition or deletion of operands to said operand stack; and said executing instructions of said bytecode program interpreter including instructions for executing said bytecode program without performing operand stack underflow and overflow checks during execution of said bytecode program.
Claim 13
Dependent Claim
119 words
The computer system of claim 6, said bytecode program verifier including jump/branch inspection instructions for determining, whenever two or more bytecodes in said bytecode program comprise jumps/branches to an identical location in said bytecode program, whether the states of a virtual stack are identical prior to execution of each of said jump/branches, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said bytecode program, and for generating a program fault signal if said virtual stack states are not identical; and said executing instructions of said bytecode program interpreter including instructions for executing said bytecode program without performing operand stack status checks during execution of said bytecode program.
Claim 14
Dependent Claim
242 words
A computer system, comprising: memory for storing a bytecode program, the bytecode program including a sequence of bytecodes, including a plurality of jump/branch bytecodes; a data processing unit for executing programs stored in said memory; a bytecode program verifier, stored in said memory, said bytecode program verifier including: stack status tracking instructions for determining the state of a virtual stack associated with said program before and after execution of each said bytecode in the program, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program; jump/branch inspection instructions for determining, whenever two or more bytecodes in said program comprise jumps/branches to an identical location in said program, whether the states of the virtual stack are identical prior to execution of each of said jump/branches, and for generating a program fault signal if said virtual stack states are not identical; program execution enabling instructions that enable execution of said bytecode program only after processing said bytecode program by said bytecode program verifier generates no program fault signals; and a bytecode program interpreter, coupled to said program execution enabling instructions, for executing said bytecode program after processing of said bytecode program by said bytecode program verifier and after said program execution enabling instructions enable execution of said bytecode program by said bytecode program interpreter; said bytecode program interpreter including instructions for executing said bytecode program without performing operand stack status checks.
Claim 15
Dependent Claim
242 words
A computer system, comprising: memory for storing a bytecode program, the bytecode program including a sequence of bytecodes, including a plurality of jump/branch bytecodes; a data processing unit for executing programs stored in said memory; a bytecode program verifier, stored in said memory, said bytecode program verifier including: stack status tracking instructions for determining the state of a virtual stack associated with said program before and after execution of each said bytecode in the program, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program; jump/branch inspection instructions for determining, whenever two or more bytecodes in said program comprise jumps/branches to an identical location in said program, whether the states of the virtual stack are identical prior to execution of each of said jump/branches, and for generating a program fault signal if said virtual stack states are not identical; program execution enabling instructions that enable execution of said bytecode program only after processing said bytecode program by said bytecode program verifier generates no program fault signals; and a bytecode program interpreter, coupled to said program execution enabling instructions, for executing said bytecode program after processing of said bytecode program by said bytecode program verifier and after said program execution enabling instructions enable execution of said bytecode program by said bytecode program interpreter; said bytecode program interpreter including instructions for executing said bytecode program without performing operand stack status checks.
Claim 16
Dependent Claim
87 words
The computer system of claim 9, said bytecode program verifier including stack overflow/underflow testing instructions for determining (A) whether execution of said bytecode program would result in an operand stack underflow or overflow, and (B) whether execution of any loop in said bytecode program would result in a net addition or deletion of operands to said operand stack, and for generating a program fault signal when execution of any loop in said bytecode program would produce a net addition or deletion of operands to said operand stack.
Claim 17
Dependent Claim
269 words
A computer system, comprising: memory for storing a bytecode program, the bytecode program including a sequence of bytecodes, including a plurality of jump/branch bytecodes; said program including at least one execution loop; a data processing unit for executing programs stored in said memory; a bytecode program verifier, stored in said memory, said bytecode program verifier including: stack status tracking instructions for determining the state of a virtual stack associated with said program before and after execution of each said bytecode in the program, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program; stack overflow/underflow testing instructions for determining (A) whether execution of said program would result in an operand stack underflow or overflow, and (B) whether execution of any loop in said program would result in a net addition or deletion of operands to said operand stack and generating a program fault signal when execution of any loop in said program would produce a net addition or deletion of operands to said operand stack; program execution enabling instructions that enables execution of said bytecode program only after processing said bytecode program by said bytecode program verifier generates no program fault signals; and a bytecode program interpreter, coupled to said bytecode program execution enabling instructions, for executing said bytecode program after processing of said bytecode program by said bytecode program verifier and after said program execution enabling instructions enable execution of said bytecode program by said bytecode program interpreter; said bytecode program interpreter including instructions for executing said bytecode program without performing operand stack overflow/underflow checks.
Claim 18
Dependent Claim
269 words
A computer system, comprising: memory for storing a bytecode program, the bytecode program including a sequence of bytecodes, including a plurality of jump/branch bytecodes; said program including at least one execution loop; a data processing unit for executing programs stored in said memory; a bytecode program verifier, stored in said memory, said bytecode program verifier including: stack status tracking instructions for determining the state of a virtual stack associated with said program before and after execution of each said bytecode in the program, said virtual stack state storing data type values for operands that would be stored in an operand stack during execution of said program; stack overflow/underflow testing instructions for determining (A) whether execution of said program would result in an operand stack underflow or overflow, and (B) whether execution of any loop in said program would result in a net addition or deletion of operands to said operand stack and generating a program fault signal when execution of any loop in said program would produce a net addition or deletion of operands to said operand stack; program execution enabling instructions that enables execution of said bytecode program only after processing said bytecode program by said bytecode program verifier generates no program fault signals; and a bytecode program interpreter, coupled to said bytecode program execution enabling instructions, for executing said bytecode program after processing of said bytecode program by said bytecode program verifier and after said program execution enabling instructions enable execution of said bytecode program by said bytecode program interpreter; said bytecode program interpreter including instructions for executing said bytecode program without performing operand stack overflow/underflow checks.
Claim 19
Dependent Claim
217 words
A computer readable media storing programs executable by a processor, the programs stored on the computer readable media comprising: a bytecode program verifier for analyzing a bytecode program, the bytecode program including a sequence of bytecodes, where each of a multiplicity of the bytecodes (A) represents an operation on data of a specific data type, and (B) has associated data type restrictions on the data type of data to be manipulated by that bytecode; the bytecode program verifier including data type testing instructions for determining whether execution of any bytecode in the bytecode program would violate the data type restrictions for that bytecode and generating a program fault signal when execution of any bytecode in the bytecode program would violate the data type restrictions for that bytecode; program execution enabling instructions that enable execution of the bytecode program only after processing of the bytecode program by the bytecode program verifier generates no program fault signals; and a bytecode program interpreter for executing the bytecode program after processing of the bytecode program by the bytecode program verifier and after the program execution enabling instructions enable execution of the bytecode program by the bytecode program interpreter; the bytecode program interpreter including instructions for executing the bytecode program without performing data type checks on operands stored in an operand stack.
Claim 20
Dependent Claim
217 words
A computer readable media storing programs executable by a processor, the programs stored on the computer readable media comprising: a bytecode program verifier for analyzing a bytecode program, the bytecode program including a sequence of bytecodes, where each of a multiplicity of the bytecodes (A) represents an operation on data of a specific data type, and (B) has associated data type restrictions on the data type of data to be manipulated by that bytecode; the bytecode program verifier including data type testing instructions for determining whether execution of any bytecode in the bytecode program would violate the data type restrictions for that bytecode and generating a program fault signal when execution of any bytecode in the bytecode program would violate the data type restrictions for that bytecode; program execution enabling instructions that enable execution of the bytecode program only after processing of the bytecode program by the bytecode program verifier generates no program fault signals; and a bytecode program interpreter for executing the bytecode program after processing of the bytecode program by the bytecode program verifier and after the program execution enabling instructions enable execution of the bytecode program by the bytecode program interpreter; the bytecode program interpreter including instructions for executing the bytecode program without performing data type checks on operands stored in an operand stack.
Claim 21
Dependent Claim
170 words
The computer readable media of claim 12, the bytecode program verifier including: stack status tracking instructions for determining the state of a virtual stack associated with the bytecode program before and after execution of each bytecode in the bytecode program, the virtual stack state storing data type values for operands that would be stored in an operand stack during execution of the bytecode program; stack overflow/underflow testing instructions for determining (A) whether execution of the bytecode program would result in an operand stack underflow or overflow, and (B) whether execution of any loop in the bytecode program would result in a net addition or deletion of operands to the operand stack, and for generating a program fault signal when execution of any loop in the bytecode program would produce a net addition or deletion of operands to the operand stack; and the executing instructions of the bytecode program interpreter including instructions for executing the bytecode program without performing operand stack underflow and overflow checks during execution of the bytecode program.
Claim 22
Dependent Claim
120 words
The computer readable media of claim 12, the bytecode program verifier including jump/branch inspection instructions for determining, whenever two or more bytecodes in the bytecode program comprise jumps/branches to an identical location in the bytecode program, whether the states of a virtual stack are identical prior to execution of each of the jump/branches, the virtual stack state storing data type values for operands that would be stored in an operand stack during execution of the bytecode program, and for generating a program fault signal if the virtual stack states are not identical; and the executing instructions of the bytecode program interpreter including instructions for executing the bytecode program without performing operand stack status checks during execution of the bytecode program.