×

Bytecode program interpreter apparatus and method with pre-verification of data type restrictions and object initialization

  • US 7,080,363 B2
  • Filed: 11/05/2002
  • Issued: 07/18/2006
  • Est. Priority Date: 12/20/1994
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer mechanism comprising:

  • a program verifier for verifying that any specified program meets predefined data type and program stack usage restrictions, the specified program including a sequence of instructions, where each of a subset of the instructions each represents an operation on data of a specific data type;

    each instruction in the subset having associated data type restrictions on the data type of data to be manipulated by that instruction;

    the program verifier including data type testing instructions for determining whether execution of any instruction in a specified program would violate data type restrictions, if any, for that instruction and generating a program fault signal when execution of any instruction in the specified program would violate the data type restrictions for that instruction;

    said data type testing instructions including;

    instructions for storing, for each instruction in said program, a data type snapshot, said data type snapshot including data type information concerning data types associated with data stored in an operand stack and registers by said program immediately prior to execution of the corresponding instruction; and

    instructions for emulating operation of each of said instructions, including instructions for emulating operation of a selected instruction in the program by;

    analyzing stack and register usage by said selected instruction so as to generate a current data type usage map for said operand stack and registers, determining successor instructions to said selected instruction, and merging the current data type usage map with the data type snapshot of said determined successor instructions;

    said data type testing instructions including instructions for determining when said stack and register usage by said instruction would violate said data type restrictions for that instruction and generating a program fault signal when execution of said instruction program would violate said data type restrictions.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×