Patents by Inventor Robert John Donovan

Robert John Donovan 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: 8065669
    Abstract: A compiler (or interpreter) detects source language instructions performing arithmetic operations using a fixed point format (preferably packed decimal). Where the operation can be performed without loss of precision or violation of other constraints of the source language, the compiler automatically converts the operands to a floating point format (preferably Decimal Floating Point (DFP)) having hardware support, and re-converts results to the original fixed point format. Preferably, the compiler may combine multiple operations and instructions in an expression tree, analyze the tree, and selectively convert where possible. The compiler preferably performs a heuristic cost judgment in determining whether to use a particular conversion.
    Type: Grant
    Filed: March 13, 2008
    Date of Patent: November 22, 2011
    Assignee: International Business Machines Corporation
    Inventors: Robert John Donovan, William Jon Schmidt
  • Patent number: 7856618
    Abstract: A program feature set is compared to a processor feature set. The comparison may be performed in response to restoring the program onto a system or requesting its execution. The processor feature set represents zero, one or more optional hardware features supported by the processor, whereas the program feature set represents zero, one or more optional hardware features the program relies upon in its generated code. Comparison of the feature sets determines whether a particular program may run on a particular processor. Programs may be automatically or manually rebuilt to achieve full compatibility. If the comparison indicates that the program requires a feature not supported by the processor, the program is rebuilt based on the processor feature set. Alternatively, the program may be rebuilt in response to a rebuild request, rather than the comparison. The program is preferably rebuilt from an intermediate representation (IR) stored with or locatable from the program.
    Type: Grant
    Filed: August 4, 2005
    Date of Patent: December 21, 2010
    Assignee: International Business Machines Corporation
    Inventors: Robert John Donovan, Paul Lu Verne Godtland, Sherri Lynn McMeeking, Joseph Patrick Reynolds, Scott Thomas Robinson, Robert Ralph Roediger, William Jon Schmidt, Roger Wayne Southwick
  • Publication number: 20080155498
    Abstract: A compiler (or interpreter) detects source language instructions performing arithmetic operations using a fixed point format (preferably packed decimal). Where the operation can be performed without loss of precision or violation of other constraints of the source language, the compiler automatically converts the operands to a floating point format (preferably Decimal Floating Point (DFP)) having hardware support, and re-converts results to the original fixed point format. Preferably, the compiler may combine multiple operations and instructions in an expression tree, analyze the tree, and selectively convert where possible. The compiler preferably performs a heuristic cost judgment in determining whether to use a particular conversion.
    Type: Application
    Filed: March 13, 2008
    Publication date: June 26, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert John Donovan, William Jon Schmidt
  • Publication number: 20080148224
    Abstract: A compiler (or interpreter) detects source language instructions performing arithmetic operations using a fixed point format (preferably packed decimal). Where the operation can be performed without loss of precision or violation of other constraints of the source language, the compiler automatically converts the operands to a floating point format (preferably Decimal Floating Point (DFP)) having hardware support, and re-converts results to the original fixed point format. Preferably, the compiler may combine multiple operations and instructions in an expression tree, analyze the tree, and selectively convert where possible. The compiler preferably performs a heuristic cost judgment in determining whether to use a particular conversion.
    Type: Application
    Filed: February 29, 2008
    Publication date: June 19, 2008
    Applicant: International Business Machines Corporation
    Inventors: Robert John Donovan, William Jon Schmidt
  • Patent number: 7389499
    Abstract: A compiler (or interpreter) detects source language instructions performing arithmetic operations using a fixed point format (preferably packed decimal). Where the operation can be performed without loss of precision or violation of other constraints of the source language, the compiler automatically converts the operands to a floating point format (preferably Decimal Floating Point (DFP)) having hardware support, and re-converts results to the original fixed point format. Preferably, the compiler may combine multiple operations and instructions in an expression tree, analyze the tree, and selectively convert where possible. The compiler preferably performs a heuristic cost judgment in determining whether to use a particular conversion.
    Type: Grant
    Filed: October 21, 2004
    Date of Patent: June 17, 2008
    Assignee: International Business Machines Corporation
    Inventors: Robert John Donovan, William Jon Schmidt
  • Patent number: 6090155
    Abstract: Apparatus and a method are provided for defining visibility boundaries in compiled code of an optimizing compiler used with a digital computer for converting a source program to an object code. The source program is received and a first intermediate representation of the source program is generated. A pseudo operation representing a predetermined event is inserted in the first intermediate representation. Sequential operations of the first intermediate representation including the inserted pseudo operations are processed for defining an internal data structure of the source program. A visibility boundary for a selected variable is identified responsive to identifying a pseudo operation in the first intermediate representation.
    Type: Grant
    Filed: June 5, 1995
    Date of Patent: July 18, 2000
    Assignee: International Business Machines Corporation
    Inventors: Robert John Donovan, Daniel Rodman Hicks, James Albert Kryka, David John Lambert, Robert Ralph Roediger
  • Patent number: 6072951
    Abstract: A compiler and method of compiling provide enhanced performance by inlining one or more frequently executed paths through a child procedure into a parent procedure without inlining the entire child procedure. Accordingly, a substantial improvement in speed of execution of the program can be achieved by reducing procedure call overhead, with reduced expense in terms of program size as compared to traditional inlining. Various criteria for determining whether to inline particular child procedures are also described.
    Type: Grant
    Filed: October 15, 1997
    Date of Patent: June 6, 2000
    Assignee: International Business Machines Corporation
    Inventors: Robert John Donovan, Robert Ralph Roediger, William Jon Schmidt
  • Patent number: 5778233
    Abstract: A method and apparatus allows a compiler to optimize code in the presence of exception handlers. According to a first embodiment, arcs are added to a control flow graph, prior to performing global optimizations, to account for exception handling code. According to the second embodiment, information relating to control flow to exception handlers is provided in pseudo-references in the code, which allows the compiler to determine how to appropriately optimize the code.
    Type: Grant
    Filed: October 11, 1996
    Date of Patent: July 7, 1998
    Assignee: International Business Machines Corporation
    Inventors: Keith Vernon Besaw, Robert John Donovan, Patrick Todd Haugen, Mark Jonathon Hessler, Mikko Herman Lipasti, Robert Ralph Roediger