Patents by Inventor Patrick Sathyanathan

Patrick Sathyanathan 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: 8631395
    Abstract: Whole program analysis during a link time code generation part of compilation can be used to detect and eliminate dead catch handlers. If all catch handlers of a try clause in a computer program are found to be dead then the try clause can also be eliminated. Detection of dead catches can be automatic, using iterative propagation of the types of thrown exceptions from callee function to caller function from bottom to top in the call-graph and iterative propagation of the types of in-flight exceptions from caller function to callee function from top to bottom in the call-graph.
    Type: Grant
    Filed: September 2, 2011
    Date of Patent: January 14, 2014
    Assignee: Microsoft Corporation
    Inventors: Patrick Sathyanathan, Ten Tzen
  • Publication number: 20130061215
    Abstract: Whole program analysis during a link time code generation part of compilation can be used to detect and eliminate dead catch handlers. If all catch handlers of a try clause in a computer program are found to be dead then the try clause can also be eliminated. Detection of dead catches can be automatic, using iterative propagation of the types of thrown exceptions from callee function to caller function from bottom to top in the call-graph and iterative propagation of the types of in-flight exceptions from caller function to callee function from top to bottom in the call-graph.
    Type: Application
    Filed: September 2, 2011
    Publication date: March 7, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Patrick Sathyanathan, Ten Tzen
  • Publication number: 20090313600
    Abstract: A system and method for performing multi-threaded compilation of source code is provided. A representation such as a directed acyclic graph (DAG) may be generated representing functions and their dependency relationships on each other. Code is generated and optimized for each function. The code generation is scheduled, based on the representation, so that multiple functions may be compiled concurrently, while enforcing ordering restrictions to generate code in a deterministic manner. An application executable may be generated that is deterministic, based on the input source code and regardless of variations due to multi-threading.
    Type: Application
    Filed: June 13, 2008
    Publication date: December 17, 2009
    Applicant: Microsoft Corporation
    Inventors: Andrew Ayers, John Lin, Patrick Sathyanathan