Patents by Inventor Trent A. Gray-Donald

Trent A. Gray-Donald 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: 7032221
    Abstract: The stack mapper of the present invention seeks to determine the shape of the stack at a given program counter. This is accomplished by locating all start points possible for a given method, that is, at all of the entry points for the method and all of the exception entry points, and trying to find a path from the beginning of the method to the program counter in question. The mapper first tries to locate a linear path from the beginning of the method, and then iteratively processes the sequence of bytes at each branch until the destination program counter is reached. Once the path is found, a simulation is run of the stack through that path, which is used as the virtual stack for the purposes of the garbage collector.
    Type: Grant
    Filed: June 10, 1999
    Date of Patent: April 18, 2006
    Assignee: International Business Machines Corporation
    Inventors: Graham Chapman, John Duimovich, Trent Gray-Donald, Graeme Johnson, Andrew Low
  • Publication number: 20060048116
    Abstract: Under the present invention, program code is examined (statically or dynamically) for characteristics indicative of a potential to generate multiple threads. If none are found, single threaded optimization(s) such as desynchronization, optimization of globals, etc., can be implemented. In addition, if the program code is later revealed to have the potential to generate multiple threads, the single threaded optimization(s) can be corrected to avoid incorrect execution.
    Type: Application
    Filed: August 30, 2004
    Publication date: March 2, 2006
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Derek Inglis, Trent Gray-Donald, Kevin Stoodley, Vijay Sundaresan
  • Publication number: 20060010424
    Abstract: A method, apparatus, and computer instructions for referencing a constant pool. A determination is made as to whether a bytecode references the constant pool. A relative offset to the constant pool is identified for the bytecode, in response to the bytecode referencing the constant pool. The bytecode is then replaced with a new bytecode containing the relative offset. The relative offset is used to reference the constant pool.
    Type: Application
    Filed: July 8, 2004
    Publication date: January 12, 2006
    Applicant: International Business Machines Corporation
    Inventors: Peter Burka, Graham Chapman, Trent Gray-Donald, Karl Taylor
  • Publication number: 20030046449
    Abstract: Virtual function calls in hybrid compiled and interpreted computer programming environments are carried out efficiently by dual virtual function tables. Each class object generated is provided with a compiled virtual function table and an interpreted virtual function table. Each table is symmetrically structured and contiguous with the class object. Calls from an interpreted function access the interpreted virtual function table. Entries in that table point to function data structures which provide for the interpretation of the called function, or for transfer to execution of a compiled version of the called function. Calls from a compiled function access the compiled virtual function table. Entries in the compiled virtual function table point to either executable code representing the called function, or to transition code for transition to the interpreter to interpret the called function.
    Type: Application
    Filed: August 27, 2001
    Publication date: March 6, 2003
    Applicant: International Business Machines Corporation
    Inventors: Trent Gray-Donald, Graeme Johnson, Kevin A. Stoodley, Julian Z.L. Wang
  • Publication number: 20030023661
    Abstract: A runtime-resource management method, system, and product for managing resources available to application components in a portable device. The method, system, and product provide for loading one or more new application components into a portable device only if maximum runtime resources required by the one or more new application components are available in the portable device assuming loaded application components within the device are using the maximum runtime resources reserved by the loaded application components, reserving maximum runtime resources required by application components when application components are loaded into the portable device, and running loaded application components using only the runtime resources reserved for the loaded application components.
    Type: Application
    Filed: July 27, 2001
    Publication date: January 30, 2003
    Inventors: Kim Clohessy, John Duimovich, Trent Gray-Donald, Berthold Lebert, Ryan Sciampacone, Peter Duncan Shipton
  • Patent number: 6446254
    Abstract: In typical Java and other interpreted programming language environments, the code is stored in ROM in a semi-processed state, .class files containing byte codes. When the device is turned on, a virtual machine resolves references and links the .class file in RAM to permit desired applications to be run. In the invention, the .class files are further pre-processed to select the data which will not change or require updating. This data is packaged into memory image files containing internal data pre-linking this data. The memory image files are stored in ROM and are accessible from ROM by the virtual machine at runtime. Only elements that will be updated, such as the objects themselves, must be instantiated in RAM at runtime. This reduces the amount of RAM needed to run the application. In an environment with memory constraints, the reduction in RAM requirements permits more RAM to be made available for application use.
    Type: Grant
    Filed: August 13, 1999
    Date of Patent: September 3, 2002
    Assignee: International Business Machines Corporation
    Inventors: Graham Chapman, John Duimovich, Trent Gray-Donald, Graeme Johnson, Andrew Low, Peter Wiebe Burka, Patrick James Mueller, Ryan Andrew Sciampancone, Peter Duncan Shipton