Patents by Inventor James M. Stichnoth

James M. Stichnoth 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: 11221879
    Abstract: Methods, systems, and apparatus for scheduling first-in-first-out instructions are described. In one aspect, a method includes receiving data representing code of a program to be executed by a processing unit comprising hardware processors. For each of one or more of the hardware processors, an order of independent groups of first-in-first-out (FIFO) instructions for execution by the hardware processor is identified in the data representing the code of the program. For each independent group of FIFO instructions for execution by the hardware processor, a path length metric that represents how long it will take to reach an end of the program from the independent group of FIFO instructions is determined. A new order of the independent groups of FIFO instructions for execution by the hardware processor is generated based at least on the path length metric for each independent group of FIFO instructions for execution by the hardware processor.
    Type: Grant
    Filed: July 2, 2020
    Date of Patent: January 11, 2022
    Assignee: Google LLC
    Inventors: Yuanzhong Xu, James M. Stichnoth, David Alexander Majnemer
  • Publication number: 20200341807
    Abstract: Methods, systems, and apparatus for scheduling first-in-first-out instructions are described. In one aspect, a method includes receiving data representing code of a program to be executed by a processing unit comprising hardware processors. For each of one or more of the hardware processors, an order of independent groups of first-in-first-out (FIFO) instructions for execution by the hardware processor is identified in the data representing the code of the program. For each independent group of FIFO instructions for execution by the hardware processor, a path length metric that represents how long it will take to reach an end of the program from the independent group of FIFO instructions is determined. A new order of the independent groups of FIFO instructions for execution by the hardware processor is generated based at least on the path length metric for each independent group of FIFO instructions for execution by the hardware processor.
    Type: Application
    Filed: July 2, 2020
    Publication date: October 29, 2020
    Inventors: Yuanzhong Xu, James M. Stichnoth, David Alexander Majnemer
  • Patent number: 10733016
    Abstract: Methods, systems, and apparatus for scheduling first-in-first-out instructions are described. In one aspect, a method includes receiving data representing code of a program to be executed by a processing unit comprising hardware processors. For each of one or more of the hardware processors, an order of independent groups of first-in-first-out (FIFO) instructions for execution by the hardware processor is identified in the data representing the code of the program. For each independent group of FIFO instructions for execution by the hardware processor, a path length metric that represents how long it will take to reach an end of the program from the independent group of FIFO instructions is determined. A new order of the independent groups of FIFO instructions for execution by the hardware processor is generated based at least on the path length metric for each independent group of FIFO instructions for execution by the hardware processor.
    Type: Grant
    Filed: April 26, 2019
    Date of Patent: August 4, 2020
    Assignee: Google LLC
    Inventors: Yuanzhong Xu, James M. Stichnoth, David Alexander Majnemer
  • Patent number: 7904881
    Abstract: Embodiments of a system and method for facilitating the use of stack cutting to be used in programming languages in a safe fashion even when composed with constructs that require destructor operations are described. For stack-based operations that require resolution through destructor operations (such as transactions, synchronization operations, deallocations, unlock operations, and the like), the destructor objects are stored in a virtual stack that is associated with the system stack, for use when a stack cut operation is performed. A container data structure stores an instantiation of the execution state at the cut back point. A virtual stack head pointer stores the location of the last destructor in the virtual stack. During a stack cut operation, the virtual stack is first unwound to execute the destructor operations until the stack frame of the container is reached. Other embodiments are described and claimed.
    Type: Grant
    Filed: July 26, 2006
    Date of Patent: March 8, 2011
    Assignee: Intel Corporation
    Inventor: James M. Stichnoth
  • Patent number: 7424705
    Abstract: Disclosed are a method, apparatus and system for dynamically managing layout of compiled code in a managed runtime environment. Profile feedback is generated during runtime, based on hardware event data that is gathered during runtime. A code manager dynamically relocates compiled code to reduce miss events based on the profile feedback. The code manager may also relocate virtual method tables in a virtual table region in order to reduce data miss events. The method does not require a prior run of an application program because profile feedback is based on event data that is tracked by hardware during execution of the software application and is not based on instrumented code.
    Type: Grant
    Filed: March 11, 2004
    Date of Patent: September 9, 2008
    Assignee: Intel Corporation
    Inventors: Brian T. Lewis, James M. Stichnoth, Dong-Yuan Chen
  • Publication number: 20080028379
    Abstract: Embodiments of a system and method for facilitating the use of stack cutting to be used in programming languages in a safe fashion even when composed with constructs that require destructor operations are described. For stack-based operations that require resolution through destructor operations (such as transactions, synchronization operations, deallocations, unlock operations, and the like), the destructor objects are stored in a virtual stack that is associated with the system stack, for use when a stack cut operation is performed. A container data structure stores an instantiation of the execution state at the cut back point. A virtual stack head pointer stores the location of the last destructor in the virtual stack. During a stack cut operation, the virtual stack is first unwound to execute the destructor operations until the stack frame of the container is reached. Other embodiments are described and claimed.
    Type: Application
    Filed: July 26, 2006
    Publication date: January 31, 2008
    Inventor: James M. Stichnoth
  • Publication number: 20040205313
    Abstract: A method is provided including determining if an object has been published previously, identifying the object as public according to whether the object has been published previously, identifying objects reachable from the object as public according to whether the object has been published previously, and publishing the object. An apparatus for performing the method, and an article including a machine- accessible medium that provides instructions that, if executed by a processor, will cause the processor to perform the method are also provided.
    Type: Application
    Filed: April 10, 2003
    Publication date: October 14, 2004
    Inventors: Richard L. Hudson, Hong Wang, John Shen, Weldon Washburn, James M. Stichnoth, Sreenivas Subramoney, CHRIS NEWBURN