Patents by Inventor Vance P. Morrison

Vance P. Morrison 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: 9274930
    Abstract: A debugging system for compiled code may include static analysis of the compiled code to determine current values for variables at a paused location within the compiled code. The static analysis may consist of liveness analysis to determine which variables are ‘live’ and in which memory locations those variables are stored. The variables and their values may be presented to a user. The debugging system may include mechanisms for setting stop points, for pausing and continuing execution, as well as stepping through a step or group of steps. Other static analysis may include unwind information that may determine a point in the code from where the current function was called, as well as partial decompilation of the source code to produce a representation of the compiled code that is closer to that of the source code.
    Type: Grant
    Filed: December 22, 2008
    Date of Patent: March 1, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Vance P. Morrison
  • Patent number: 9092332
    Abstract: Activity-based sampling provides useful and relevantly focused diagnostic data, connected to improve a developer's understanding. An application invokes log-event procedures, causing a logger to check logging conditions and make a log entry when a logging condition is satisfied. The logger has a set of log-enabled activities, and one or more start-events with respective sampling frequency conditions. One logging condition is that a current activity-id be log-enabled. Another states that if the current activity-id is not log-enabled but the log-event procedure identifies a start-event consistent with the sampling frequency condition, the activity is log-enabled and a log entry is made. Creation of a child activity by a parent activity which is in the set of log-enabled activities is noted in the log, and the child is automatically log-enabled. A log consumer may reside inside or outside the application. Event Tracing for Windows services can be enhanced to support activity-based sampling.
    Type: Grant
    Filed: May 2, 2013
    Date of Patent: July 28, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Daniel J. Taylor, Vance P. Morrison, Cosmin Radu, Bryan P. Arant
  • Patent number: 8903747
    Abstract: A software optimization system isolates an effect of a change in a control variable from effects of ongoing, unknown changes in other variables. The system discards effects due to noise so that effects of interest to a programmer are more easily visible. The software optimization system treats variations in one or more control variables and in the output of the system as signals. The system varies the control variable at a specific frequency unlikely to correlate with uncontrolled variations in external variables. The system uses digital signal processing (DSP) techniques to filter the output, isolating the frequency of the control variable variation. The system then compares the resulting filtered output to the input to determine the approximate effect of the variation in the control variable.
    Type: Grant
    Filed: June 18, 2009
    Date of Patent: December 2, 2014
    Assignee: Microsoft Corporation
    Inventors: Eric L. Eilebrecht, Vance P. Morrison, Erika Fuentes
  • Publication number: 20140331092
    Abstract: Activity-based sampling provides useful and relevantly focused diagnostic data, connected to improve a developer's understanding. An application invokes log-event procedures, causing a logger to check logging conditions and make a log entry when a logging condition is satisfied. The logger has a set of log-enabled activities, and one or more start-events with respective sampling frequency conditions. One logging condition is that a current activity-id be log-enabled. Another states that if the current activity-id is not log-enabled but the log-event procedure identifies a start-event consistent with the sampling frequency condition, the activity is log-enabled and a log entry is made. Creation of a child activity by a parent activity which is in the set of log-enabled activities is noted in the log, and the child is automatically log-enabled. A log consumer may reside inside or outside the application. Event Tracing for Windows services can be enhanced to support activity-based sampling.
    Type: Application
    Filed: May 2, 2013
    Publication date: November 6, 2014
    Applicant: Microsoft Corporation
    Inventors: Daniel J. Taylor, Vance P. Morrison, Cosmin Radu, Bryan P. Arant
  • Patent number: 8543991
    Abstract: Idle processor cores can be used to compile methods that are likely to be executed by a program based on profile data that is captured during one or more previous executions. Methods that are determined by the profile data to be likely to be used can be compiled eagerly on one or more background threads. Transparency can be achieved by ensuring that module load order is not altered because of the background threads by recording the state of loaded modules after each profiled compilation, persisting that data, and waiting to eagerly compile a method until the method to be compiled and all its dependencies has been loaded by the executing program.
    Type: Grant
    Filed: March 10, 2011
    Date of Patent: September 24, 2013
    Assignee: Microsoft Corporation
    Inventors: Subramanian Ramaswamy, David Hiniker-Roosa, Feng Yuan, Sedar Gokbulut, Ashok C. Kamath, Jan Kotas, Vance P. Morrison
  • Publication number: 20120233602
    Abstract: Idle processor cores can be used to compile methods that are likely to be executed by a program based on profile data that is captured during one or more previous executions. Methods that are determined by the profile data to be likely to be used can be compiled eagerly on one or more background threads. Transparency can be achieved by ensuring that module load order is not altered because of the background threads by recording the state of loaded modules after each profiled compilation, persisting that data, and waiting to eagerly compile a method until the method to be compiled and all its dependencies has been loaded by the executing program.
    Type: Application
    Filed: March 10, 2011
    Publication date: September 13, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Subramanian Ramaswamy, David Hiniker-Roosa, Feng Yuan, Sedar Gokbulut, Ashok C. Kamath, Jan Kotas, Vance P. Morrison
  • Patent number: 7941793
    Abstract: A system and method for mitigating problems associated with automatic execution of initialization code is provided. The system includes an initialization method activator that can call a class initialization method at a pre-determined execution point. The system also includes a deadlock analyzer that can determine whether calling the initialization method will create a deadlock, and, if a deadlock is detected that can resolve such a deadlock. The system also includes a semantic analyzing component that can analyze a semantic type associated with the initialization method and a domain uniqueness analyzer that can analyze the uniqueness of the domain with which the class will interact, to facilitate determining where to place code that will check whether a class is initialized, and if the class is not initialized that will invoke the class initializing method.
    Type: Grant
    Filed: August 16, 2006
    Date of Patent: May 10, 2011
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Christopher W. Brumme, James S. Miller, Vance P. Morrison, David S. Mortenson, Sean E. Trowbridge
  • Patent number: 7921143
    Abstract: A system and method is provided for efficiently pinning references to the managed heap. The system and method allow for references to managed objects to be declared as pinned during a call to unmanaged code. The references are then reported as pinned to a garbage collector in response to invocation of a garbage collection service. The reference can be declared as pinned by a programmer within the source code or automatically invoked at run-time based on an unsafe condition. The garbage collection service will not move or relocate objects that are referenced by the active pinned local variables. If a garbage collection does not occur, the fact that the local variables are declared pinned is ignored.
    Type: Grant
    Filed: May 12, 2009
    Date of Patent: April 5, 2011
    Assignee: Microsoft Corporation
    Inventors: Patrick H. Dussud, Vance P. Morrison
  • Patent number: 7882158
    Abstract: A system and method is provided for efficiently pinning references to the managed heap. The system and method allow for references to managed objects to be declared as pinned during a call to unmanaged code. The references are then reported as pinned to a garbage collector in response to invocation of a garbage collection service. The reference can be declared as pinned by a programmer within the source code or automatically invoked at run-time based on an unsafe condition. The garbage collection service will not move or relocate objects that are referenced by the active pinned local variables. If a garbage collection does not occur, the fact that the local variables are declared pinned is ignored.
    Type: Grant
    Filed: May 12, 2009
    Date of Patent: February 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Patrick H. Dussud, Vance P. Morrison
  • Publication number: 20100325070
    Abstract: A software optimization system isolates an effect of a change in a control variable from effects of ongoing, unknown changes in other variables. The system discards effects due to noise so that effects of interest to a programmer are more easily visible. The software optimization system treats variations in one or more control variables and in the output of the system as signals. The system varies the control variable at a specific frequency unlikely to correlate with uncontrolled variations in external variables. The system uses digital signal processing (DSP) techniques to filter the output, isolating the frequency of the control variable variation. The system then compares the resulting filtered output to the input to determine the approximate effect of the variation in the control variable.
    Type: Application
    Filed: June 18, 2009
    Publication date: December 23, 2010
    Applicant: Microsoft Corporation
    Inventors: Eric L. Eilebrecht, Vance P. Morrison, Erika Fuentes
  • Publication number: 20100162217
    Abstract: A debugging system for compiled code may include static analysis of the compiled code to determine current values for variables at a paused location within the compiled code. The static analysis may consist of liveness analysis to determine which variables are ‘live’ and in which memory locations those variables are stored. The variables and their values may be presented to a user. The debugging system may include mechanisms for setting stop points, for pausing and continuing execution, as well as stepping through a step or group of steps. Other static analysis may include unwind information that may determine a point in the code from where the current function was called, as well as partial decompilation of the source code to produce a representation of the compiled code that is closer to that of the source code.
    Type: Application
    Filed: December 22, 2008
    Publication date: June 24, 2010
    Applicant: Microsoft Corporation
    Inventor: Vance P. Morrison
  • Patent number: 7735071
    Abstract: A method and system for compiling multiple source language files that share a common library. The common library is represented in a common language that can be used by multiple different source languages. Font end compiler systems read the common language files that make up the common library and the source language files that use the library. Additionally, the front end systems produce common language files. The common language files produced by the front end systems can be used in the common library. The common language files may also be supplied to a back end system or runtime environment that further compiles the common language file to an executable form and executes the file. At runtime, the common language file is used by the runtime environment to layout the objects and methods used during execution.
    Type: Grant
    Filed: July 12, 2004
    Date of Patent: June 8, 2010
    Assignee: Microsoft Corporation
    Inventors: Bradley M. Abrams, George H. Bosworth, Christopher W. Brumme, Patrick H. Dussud, Brian D. Harry, James S. Miller, Vance P. Morrison
  • Patent number: 7631249
    Abstract: Example embodiments provide for effectively executing a stack-walk and other operations by dynamically accessing information about the expected location of cookies on a stack. For example, a first function is executed that causes a stack-walk operation to occur. While performing the stack-walk operation, cookie location information for a cookie placed on the stack by a second function different from the first function is accessed. The cookie, if uncorrupted, includes a known value that is used to determine if the stack has been corrupted. Based on the cookie location information, corrupt data representative of the cookie is accessed. A global cookie, which also includes the known value, is also accessed. The known value of the global cookie is then compared with the corrupt data to determine that the stack is corrupted at least up to the location of the corrupt data representative of the cookie.
    Type: Grant
    Filed: October 14, 2005
    Date of Patent: December 8, 2009
    Assignee: Microsoft Corporation
    Inventors: Shrikrishna V. Borde, Louis Lafreniere, Vance P. Morrison
  • Patent number: 7627594
    Abstract: The subject disclosure pertains to systems and methods for supporting null capabilities for general purpose programming languages. Low level, runtime support for a nullable type is provided to ensure consistency and coherency. An execution component restricts support of the nullable type to programming language types that lack a null capability. The execution component may also provide support for conversion between the nullable type and a reference type.
    Type: Grant
    Filed: August 29, 2005
    Date of Patent: December 1, 2009
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Dinesh Chandrakant Kulkarni, Vance P. Morrison, John Joseph Duffy, Christopher W. Brumme, Matthew J. Warren, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger
  • Publication number: 20090222802
    Abstract: A system and method is provided for efficiently pinning references to the managed heap. The system and method allow for references to managed objects to be declared as pinned during a call to unmanaged code. The references are then reported as pinned to a garbage collector in response to invocation of a garbage collection service. The reference can be declared as pinned by a programmer within the source code or automatically invoked at run-time based on an unsafe condition. The garbage collection service will not move or relocate objects that are referenced by the active pinned local variables. If a garbage collection does not occur, the fact that the local variables are declared pinned is ignored.
    Type: Application
    Filed: May 12, 2009
    Publication date: September 3, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Patrick H. Dussud, Vance P. Morrison
  • Publication number: 20090222801
    Abstract: A system and method is provided for efficiently pinning references to the managed heap. The system and method allow for references to managed objects to be declared as pinned during a call to unmanaged code. The references are then reported as pinned to a garbage collector in response to invocation of a garbage collection service. The reference can be declared as pinned by a programmer within the source code or automatically invoked at run-time based on an unsafe condition. The garbage collection service will not move or relocate objects that are referenced by the active pinned local variables. If a garbage collection does not occur, the fact that the local variables are declared pinned is ignored.
    Type: Application
    Filed: May 12, 2009
    Publication date: September 3, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Patrick H. Dussud, Vance P. Morrison
  • Patent number: 7533123
    Abstract: A system and method is provided for efficiently pinning references to the managed heap. The system and method allow for references to managed objects to be declared as pinned during a call to unmanaged code. The references are then reported as pinned to a garbage collector in response to invocation of a garbage collection service. The reference can be declared as pinned by a programmer within the source code or automatically invoked at run-time based on an unsafe condition. The garbage collection service will not move or relocate objects that are referenced by the active pinned local variables. If a garbage collection does not occur, the fact that the local variables are declared pinned is ignored.
    Type: Grant
    Filed: June 10, 2004
    Date of Patent: May 12, 2009
    Assignee: Microsoft Corporation
    Inventors: Patrick H. Dussud, Vance P. Morrison
  • Patent number: 7516441
    Abstract: A system and method of providing edit and continue support in a software program debugging environment. “Edit and continue” support allows a user (e.g., programmer and/or developer) to update the code and/or data structure(s) of an executing program while it is running. After the user has finished editing their code and resumes execution, an integrated development environment (IDE) propagates the edit(s) into a common language runtime (CLR) environment before continuing. Therefore, from the CLR environment's perspective, an edit is a block of intermediate language code (IL) and/or metadata that is inserted into a running process. Moreover, The IDE can facilitate: determining “legality” of an edit; building the edit; sending the edit to the CLR environment; and/or, facilitating the CLR environment switch execution to the edited code.
    Type: Grant
    Filed: July 21, 2004
    Date of Patent: April 7, 2009
    Assignee: Microsoft Corporation
    Inventors: Jennifer A Hamilton, Michael M Magruder, James H Hogg, William G Evans, Vance P Morrison, Lawrence B Sullivan, Sean E Trowbridge, Jason L Zander, Ian H Carmichael, Patrick H Dussud, John L Hamby, John J Rivard, Li Zhang, Mario Chenier, Douglas Rosen, Steven J Steiner, Peter A Hallam, Brian R Crawford, James S Miller, Sam Spencer, Habib Heydarian
  • Patent number: 7454447
    Abstract: A system and method is provided for efficiently pinning references to the managed heap. The system and method allow for references to managed objects to be declared as pinned during a call to unmanaged code. The references are then reported as pinned to a garbage collector in response to invocation of a garbage collection service. The reference can be declared as pinned by a programmer within the source code or automatically invoked at run-time based on an unsafe condition. The garbage collection service will not move or relocate objects that are referenced by the active pinned local variables. If a garbage collection does not occur, the fact that the local variables are declared pinned is ignored.
    Type: Grant
    Filed: January 12, 2005
    Date of Patent: November 18, 2008
    Assignee: Microsoft Corporation
    Inventors: Patrick H. Dussud, Vance P. Morrison
  • Patent number: 7433862
    Abstract: A system and method is provided for efficiently pinning references to the managed heap. The system and method allow for references to managed objects to be declared as pinned during a call to unmanaged code. The references are then reported as pinned to a garbage collector in response to invocation of a garbage collection service. The reference can be declared as pinned by a programmer within the source code or automatically invoked at run-time based on an unsafe condition. The garbage collection service will not move or relocate objects that are referenced by the active pinned local variables. If a garbage collection does not occur, the fact that the local variables are declared pinned is ignored.
    Type: Grant
    Filed: June 10, 2004
    Date of Patent: October 7, 2008
    Assignee: Microsoft Corporation
    Inventors: Patrick H. Dussud, Vance P. Morrison