Patents by Inventor Jeffrey B. Caldwell

Jeffrey B. Caldwell has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 5940621
    Abstract: Compiler performance is improved without compromising program correctness by altering the commonly expected ordering that has been used in the past. A more efficient memory image is provided which results in smaller stack frames (activation records), less required heap space (static data memory storage), improved variable access time due to better spacial locality, and improved cache-hit ratios. An optimal size space storage allocation technique optimizes the run time code, such that fewer instructions are required per each data access. A smaller local area, which is part of the activation record, is provided, such that there is a much greater level of nesting and better cache locality. Improved alignment base sorting is provided such that, based on alignment, the smallest stack frame possible is provided.
    Type: Grant
    Filed: January 23, 1996
    Date of Patent: August 17, 1999
    Assignee: Hewlett-Packard Company
    Inventor: Jeffrey B. Caldwell
  • Patent number: 5835774
    Abstract: The present invention describes a system and method to efficiently implement case table constructs for integral datatypes larger than the native underlying register size of the architecture. The method for generating case table constructs for a n-bit case variable on a computer system having a m-bit architecture, where n is greater than m, includes the step of determining whether the n-bit case variable can be represented in m bits. Since the code for a m-bit case variable is more efficient than the code for a n-bit case variable, the present invention determines which case variables require code for n-bit values and which case variables can be implemented in the more efficient code for m-bit values. If the case variable can be reduced to m-bits then the present invention uses the more efficient m-bit case variable code for implementation. Otherwise, the less efficient n-bit case variable code is used. The invention describes an efficient method for performing this test at runtime.
    Type: Grant
    Filed: April 30, 1996
    Date of Patent: November 10, 1998
    Assignee: Hewlett-Packard Company
    Inventor: Jeffrey B. Caldwell
  • Patent number: 5778232
    Abstract: A compiler for compiling and optimizing a COBOL program. The invention is embodied in a front end that reads the COBOL program and generates an intermediate representation that can be optimized by later stages of the compiler. After reading the COBOL program, the compiler first coalesces the paragraphs into procedures. If a paragraph's preceding paragraph is not a potential exit point, then the paragraphs are coalesced. Next, the basic block counts of the procedures are estimated. If a basic block count exceeds a predetermined limit, then basic blocks are sliced from the procedure, placed into a new procedure, and a call to the new procedure is inserted into the sliced procedure. Finally, the compiler generates a super-procedure from the sliced procedures. The super-procedure implements the control flow of the original COBOL program. Because the resulting program behavior resembles that of a C, C++, or Fortran program, the compiler can use C, C++, or Fortran compiler technology to optimize the COBOL program.
    Type: Grant
    Filed: July 3, 1996
    Date of Patent: July 7, 1998
    Assignee: Hewlett-Packard Company
    Inventors: Jeffrey B. Caldwell, Harry Charles Muttart, David Henry Gross
  • Patent number: 5317509
    Abstract: The present invention provides a system and method for building a lexical analyzer that can scan multibyte character sets. The present invention factors regular expressions that contain multibyte characters, so that a single byte finite state automata can be constructed. In particular, the present invention provides a computer-based system and method for tokenizing a source program written in a programming language that is represented by both single byte values and two byte values. The present invention includes a mechanism for building a lexical analyzer that is configured to accept an input specification. The input specification typically includes a regular expression(s) and a corresponding associated action(s). The present invention also including a mechanism for factoring the regular expression(s), if the regular expression(s) contains at least one two byte character, into a regular expression(s) containing only single byte characters.
    Type: Grant
    Filed: January 21, 1992
    Date of Patent: May 31, 1994
    Assignee: Hewlett-Packard Company
    Inventor: Jeffrey B. Caldwell