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: 9274930Abstract: 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: GrantFiled: December 22, 2008Date of Patent: March 1, 2016Assignee: Microsoft Technology Licensing, LLCInventor: Vance P. Morrison
-
Patent number: 9092332Abstract: 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: GrantFiled: May 2, 2013Date of Patent: July 28, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Daniel J. Taylor, Vance P. Morrison, Cosmin Radu, Bryan P. Arant
-
Patent number: 8903747Abstract: 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: GrantFiled: June 18, 2009Date of Patent: December 2, 2014Assignee: Microsoft CorporationInventors: Eric L. Eilebrecht, Vance P. Morrison, Erika Fuentes
-
Publication number: 20140331092Abstract: 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: ApplicationFiled: May 2, 2013Publication date: November 6, 2014Applicant: Microsoft CorporationInventors: Daniel J. Taylor, Vance P. Morrison, Cosmin Radu, Bryan P. Arant
-
Patent number: 8543991Abstract: 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: GrantFiled: March 10, 2011Date of Patent: September 24, 2013Assignee: Microsoft CorporationInventors: Subramanian Ramaswamy, David Hiniker-Roosa, Feng Yuan, Sedar Gokbulut, Ashok C. Kamath, Jan Kotas, Vance P. Morrison
-
Publication number: 20120233602Abstract: 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: ApplicationFiled: March 10, 2011Publication date: September 13, 2012Applicant: MICROSOFT CORPORATIONInventors: Subramanian Ramaswamy, David Hiniker-Roosa, Feng Yuan, Sedar Gokbulut, Ashok C. Kamath, Jan Kotas, Vance P. Morrison
-
Patent number: 7941793Abstract: 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: GrantFiled: August 16, 2006Date of Patent: May 10, 2011Assignee: Microsoft CorporationInventors: Gopala Krishna R. Kakivaya, Christopher W. Brumme, James S. Miller, Vance P. Morrison, David S. Mortenson, Sean E. Trowbridge
-
Patent number: 7921143Abstract: 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: GrantFiled: May 12, 2009Date of Patent: April 5, 2011Assignee: Microsoft CorporationInventors: Patrick H. Dussud, Vance P. Morrison
-
Patent number: 7882158Abstract: 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: GrantFiled: May 12, 2009Date of Patent: February 1, 2011Assignee: Microsoft CorporationInventors: Patrick H. Dussud, Vance P. Morrison
-
Publication number: 20100325070Abstract: 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: ApplicationFiled: June 18, 2009Publication date: December 23, 2010Applicant: Microsoft CorporationInventors: Eric L. Eilebrecht, Vance P. Morrison, Erika Fuentes
-
Publication number: 20100162217Abstract: 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: ApplicationFiled: December 22, 2008Publication date: June 24, 2010Applicant: Microsoft CorporationInventor: Vance P. Morrison
-
Patent number: 7735071Abstract: 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: GrantFiled: July 12, 2004Date of Patent: June 8, 2010Assignee: Microsoft CorporationInventors: Bradley M. Abrams, George H. Bosworth, Christopher W. Brumme, Patrick H. Dussud, Brian D. Harry, James S. Miller, Vance P. Morrison
-
Patent number: 7631249Abstract: 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: GrantFiled: October 14, 2005Date of Patent: December 8, 2009Assignee: Microsoft CorporationInventors: Shrikrishna V. Borde, Louis Lafreniere, Vance P. Morrison
-
Patent number: 7627594Abstract: 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: GrantFiled: August 29, 2005Date of Patent: December 1, 2009Assignee: Microsoft CorporationInventors: 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: 20090222802Abstract: 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: ApplicationFiled: May 12, 2009Publication date: September 3, 2009Applicant: MICROSOFT CORPORATIONInventors: Patrick H. Dussud, Vance P. Morrison
-
Publication number: 20090222801Abstract: 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: ApplicationFiled: May 12, 2009Publication date: September 3, 2009Applicant: MICROSOFT CORPORATIONInventors: Patrick H. Dussud, Vance P. Morrison
-
Patent number: 7533123Abstract: 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: GrantFiled: June 10, 2004Date of Patent: May 12, 2009Assignee: Microsoft CorporationInventors: Patrick H. Dussud, Vance P. Morrison
-
Patent number: 7516441Abstract: 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: GrantFiled: July 21, 2004Date of Patent: April 7, 2009Assignee: Microsoft CorporationInventors: 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: 7454447Abstract: 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: GrantFiled: January 12, 2005Date of Patent: November 18, 2008Assignee: Microsoft CorporationInventors: Patrick H. Dussud, Vance P. Morrison
-
Patent number: 7433862Abstract: 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: GrantFiled: June 10, 2004Date of Patent: October 7, 2008Assignee: Microsoft CorporationInventors: Patrick H. Dussud, Vance P. Morrison