Patents by Inventor Grant A. Richins

Grant A. Richins 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: 8677336
    Abstract: The present invention extends to methods, systems, and computer program products for block count based procedure layout and splitting. Embodiments of the invention utilize code block counts to provide a total ordering of code blocks that improves execution time of generated procedure code by minimizing branches along more frequently executed paths. The total ordering is optimized using prioritized precedence relationships. For example, the total ordering is optimized to maximize the appropriate placement of code block chains after other code block chains. The total ordering is also optimized to place zero count (untouched) code blocks after any non-zero (touched) code blocks.
    Type: Grant
    Filed: January 17, 2008
    Date of Patent: March 18, 2014
    Assignee: Microsoft Corporation
    Inventor: Grant A. Richins
  • Patent number: 8489651
    Abstract: The reconstruction of garbage collection information corresponding to an application. Upon accessing a portion of compiler generated application code, a computing system generates computational results that identifies one or more program state storage locations that track live references or memory pointers that can be displaced during garbage collection. This may be performed for multiple application code portions (such as methods or functions of an application), and may be performed just before garbage collection. To generate the computational results, the application code portion may first be subjected to a liveness analysis to generate liveness analysis results in the form of one or more live program state storage locations in the application code portion. The computational results may then be generated using the liveness analysis results and type information from a type service to provide the set of storage locations referencing live memory objects.
    Type: Grant
    Filed: March 25, 2011
    Date of Patent: July 16, 2013
    Assignee: Microsoft Corporation
    Inventors: Kshama Shivaji Pawar, Mihai E. Stoicescu, Igor A. Murashkin, Kevin B. Frei, B. Scott Wadsworth, Grant A. Richins, Michael B. Green, Craig A. Vinet
  • Publication number: 20120246203
    Abstract: The reconstruction of garbage collection information corresponding to an application. Upon accessing a portion of compiler generated application code, a computing system generates computational results that identifies one or more program state storage locations that track live references or memory pointers that can be displaced during garbage collection. This may be performed for multiple application code portions (such as methods or functions of an application), and may be performed just before garbage collection. To generate the computational results, the application code portion may first be subjected to a liveness analysis to generate liveness analysis results in the form of one or more live program state storage locations in the application code portion. The computational results may then be generated using the liveness analysis results and type information from a type service to provide the set of storage locations referencing live memory objects.
    Type: Application
    Filed: March 25, 2011
    Publication date: September 27, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Kshama Shivaji Pawar, Mihai E. Stoicescu, Igor A. Murashkin, Kevin B. Frei, B. Scott Wadsworth, Grant A. Richins, Michael B. Green, Craig A. Vinet
  • Publication number: 20090187887
    Abstract: The present invention extends to methods, systems, and computer program products for block count based procedure layout and splitting. Embodiments of the invention utilize code block counts to provide a total ordering of code blocks that improves execution time of generated procedure code by minimizing branches along more frequently executed paths. The total ordering is optimized using prioritized precedence relationships. For example, the total ordering is optimized to maximize the appropriate placement of code block chains after other code block chains. The total ordering is also optimized to place zero count (untouched) code blocks after any non-zero (touched) code blocks.
    Type: Application
    Filed: January 17, 2008
    Publication date: July 23, 2009
    Applicant: MICROSOFT CORPORATION
    Inventor: Grant A. Richins