Patents by Inventor Ian M. Bearman

Ian M. Bearman 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: 10521208
    Abstract: A mechanism for generating optimized native code for a program having dynamic behavior uses a static analysis of the program to predict the likelihood that different elements of the program are likely to be used when the program executes. The static analysis is performed prior to execution of the program and marks certain elements of the program with confidence indicators that classify the elements with either a high level of confidence or a low level of confidence. The confidence indicators are then used by an ahead-of-time native compiler to generate native code and to optimize the code for faster execution and/or a smaller-sized native code.
    Type: Grant
    Filed: June 23, 2017
    Date of Patent: December 31, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Morgan Asher Brown, David Charles Wrighton, Mei-Chin Tsai, Shah Mohammad Faizur Rahman, Yi Zhang, Ian M. Bearman, Erdembilegt Janchivdorj, David Adam Hartglass, David Mitford Gillies
  • Publication number: 20180373515
    Abstract: A mechanism for generating optimized native code for a program having dynamic behavior uses a static analysis of the program to predict the likelihood that different elements of the program are likely to be used when the program executes. The static analysis is performed prior to execution of the program and marks certain elements of the program with confidence indicators that classify the elements with either a high level of confidence or a low level of confidence. The confidence indicators are then used by an ahead-of-time native compiler to generate native code and to optimize the code for faster execution and/or a smaller-sized native code.
    Type: Application
    Filed: June 23, 2017
    Publication date: December 27, 2018
    Inventors: MORGAN ASHER BROWN, DAVID CHARLES WRIGHTON, MEI-CHIN TSAI, SHAH MOHAMMAD FAIZUR RAHMAN, YI ZHANG, IAN M. BEARMAN, ERDEMBILEGT JANCHIVDORJ, DAVID ADAM HARTGLASS, DAVID MITFORD GILLIES
  • Patent number: 7631304
    Abstract: A compiler that forms an intermediate representation of a program using a flow graph with less than all possible edges used to model asynchronous transfers within the program. The flow graph is formed in multiple phases. In one phase, the flow graph is formed without modeling asynchronous transfers. In later phases, representations of the effects of the asynchronous transfers are selectively added. As part of the later phases, edges modeling a possible asynchronous transfer are added to the flow graph following definitions in protected regions of variables that are live outside the protected region. A modified definition of live-ness of a variable is used to incorporate use of the variable in any region, including the protected region, following an asynchronous transfer. Edges from the protected region are also added to the model if the only use of the defined variable is in a handler.
    Type: Grant
    Filed: January 14, 2005
    Date of Patent: December 8, 2009
    Inventors: Ian M. Bearman, James J. Radigan
  • Patent number: 7539983
    Abstract: A compiler that forms an intermediate representation of a program using a flow graph with less than all possible edges used to model asynchronous transfers within the program. The flow graph is formed in multiple phases. In one phase, the flow graph is formed without modeling asynchronous transfers. In later phases, representations of the effects of the asynchronous transfers are selectively added. As part of the later phases, edges modeling a possible asynchronous transfer are added to the flow graph following definitions in protected regions of variables that are live outside the protected region. A modified definition of live-ness of a variable is used to incorporate use of the variable in any region, including the protected region, following an asynchronous transfer. Edges from the protected region are also added to the model if the only use of the defined variable is in a handler.
    Type: Grant
    Filed: January 18, 2005
    Date of Patent: May 26, 2009
    Assignee: Microsoft Corporation
    Inventors: Ian M. Bearman, James J. Radigan