Patents by Inventor Mike Stephen Fulton
Mike Stephen Fulton 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: 9477495Abstract: A computer implemented method, a computer program product and a data processing system for executing an application written in a dynamic language are provided. An execution point of the application is loaded. A list of classes associated with the execution point is generated. The loading of each class in the list of classes is simulated. New execution points and new classes accessible from each execution point within each class in the list of classes are identified by recursively parsing instructions associated with each execution point. The list is modified to include the identified new execution points and new classes. Responsive to a determination that new execution points and new classes have been identified, the steps of identifying new execution points and new classes and modifying the list is repeated. The list is saved.Type: GrantFiled: August 17, 2006Date of Patent: October 25, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Mike Stephen Fulton
-
Patent number: 8321851Abstract: There is provided a computer implemented method for determining the efficiency of a runtime compiler. A set of execution times representing the time taken for program code to perform a set task after two or more runtime compilations is recorded. A first metric as the difference between the first execution time and the last execution time of the set of execution times, a second metric as the average throughput improvement from the set of execution times, and a third metric as the time taken for the compiler to achieve the maximum throughput from the set of execution times is calculated. Finally, an efficiency metric is calculated using the first, second and third metrics to determine the efficiency of the compiler.Type: GrantFiled: December 22, 2009Date of Patent: November 27, 2012Assignee: International Business Machines CorporationInventors: Mike Stephen Fulton, Ajith Ramanath, Radhakrishnan Thangamuthu
-
Patent number: 8281293Abstract: A computer implemented method, apparatus, and computer program product for copy-on-write optimization of immutable objects. An immutable object is marked as read-only to form a read-only object. The read-only object is formed to delay copying of the immutable object until a runtime determination is made that a write to the immutable object will be made. In response to an attempt to write to the read-only object, an internal value of the read-only object is copied to read-and-write storage using runtime information to form a writable copy of the read-only object. A set of references for the read-only object is updated to point to the writable copy of the read-only object. Delaying copying of the immutable object optimizes a copy-on-write of the immutable object.Type: GrantFiled: July 24, 2007Date of Patent: October 2, 2012Assignee: International Business Machines CorporationInventors: Mike Stephen Fulton, Nikola Grcevski, Derek Bruce Inglis
-
Publication number: 20120198215Abstract: A method, computer program product, and data processing system for substituting a candidate instruction in application code being loaded during load time. Responsive to identifying the candidate instruction, a determination is made whether a hardware facility of the data processing system is present to execute the candidate instruction. If the hardware facility is absent from the data processing system, the candidate instruction is substituted with a second set of instructions.Type: ApplicationFiled: February 3, 2012Publication date: August 2, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Mike Stephen Fulton
-
Patent number: 8185903Abstract: A computer implemented method, apparatus, and computer usable program product for system management. The process schedules a set of application tasks to form a schedule of tasks in response to receiving the set of application tasks from a registration module. The process then performs a feasibility analysis on the schedule of tasks to identify periods of decreased system activity. Thereafter, the process schedules a set of system management tasks during the periods of decreased system activity to form a prioritized schedule of tasks.Type: GrantFiled: December 13, 2007Date of Patent: May 22, 2012Assignee: International Business Machines CorporationInventors: Mike Stephen Fulton, Mark Graham Stoodley
-
Patent number: 8185883Abstract: A method, computer program product, and data processing system for substituting a candidate instruction in application code being loaded during load time. Responsive to identifying the candidate instruction, a determination is made whether a hardware facility of the data processing system is present to execute the candidate instruction. If the hardware facility is absent from the data processing system, the candidate instruction is substituted with a second set of instructions.Type: GrantFiled: September 14, 2007Date of Patent: May 22, 2012Assignee: International Business Machines CorporationInventor: Mike Stephen Fulton
-
Publication number: 20110154304Abstract: There is provided a computer implemented method for determining the efficiency of a runtime compiler. A set of execution times representing the time taken for program code to perform a set task after two or more runtime compilations is recorded. A first metric as the difference between the first execution time and the last execution time of the set of execution times, a second metric as the average throughput improvement from the set of execution times, and a third metric as the time taken for the compiler to achieve the maximum throughput from the set of execution times is calculated. Finally, an efficiency metric is calculated using the first, second and third metrics to determine the efficiency of the compiler.Type: ApplicationFiled: December 22, 2009Publication date: June 23, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Mike Stephen Fulton, Ajith Ramanath, Radhakrishnan Thangamuthu
-
Patent number: 7954093Abstract: A method, computer program product, and data processing system for substituting a candidate instruction in application code being loaded during load time. Responsive to identifying the candidate instruction, a determination is made whether a hardware facility of the data processing system is present to execute the candidate instruction. If the hardware facility is absent from the data processing system, the candidate instruction is substituted with a second set of instructions.Type: GrantFiled: September 14, 2007Date of Patent: May 31, 2011Assignee: International Business Machines CorporationInventor: Mike Stephen Fulton
-
Patent number: 7574704Abstract: A system and method for reorganizing source code using frequency based instruction loop replication are provided. Code is reorganized based on the frequency of execution of blocks of the code so as to favor frequently executed blocks of code over rarely executed code with regard to subsequent optimizations. Frequently executed blocks of instructions are maintained within loop/switch statements and rarely executed blocks of instructions are removed from the loop/switch statements. The rarely executed blocks of instructions may be replicated after the loop/switch statement with a reference back to the loop/switch statement. In this way, when subsequent loop/switch statement optimizations are applied, the frequently executed blocks of instructions within the loop are more likely to benefit from such optimizations since the negative influence of the rarely executed blocks of instructions has been removed.Type: GrantFiled: October 21, 2004Date of Patent: August 11, 2009Assignee: International Business Machines CorporationInventors: Mike Stephen Fulton, Christopher B. Larsson, Vijay Sundaresan
-
Publication number: 20090158288Abstract: A computer implemented method, apparatus, and computer usable program product for system management. The process schedules a set of application tasks to form a schedule of tasks in response to receiving the set of application tasks from a registration module. The process then performs a feasibility analysis on the schedule of tasks to identify periods of decreased system activity. Thereafter, the process schedules a set of system management tasks during the periods of decreased system activity to form a prioritized schedule of tasks.Type: ApplicationFiled: December 13, 2007Publication date: June 18, 2009Inventors: Mike Stephen Fulton, Mark Graham Stoodley
-
Publication number: 20090077355Abstract: A method, computer program product, and data processing system for substituting a candidate instruction in application code being loaded during load time. Responsive to identifying the candidate instruction, a determination is made whether a hardware facility of the data processing system is present to execute the candidate instruction. If the hardware facility is absent from the data processing system, the candidate instruction is substituted with a second set of instructions.Type: ApplicationFiled: September 14, 2007Publication date: March 19, 2009Inventor: Mike Stephen Fulton
-
Publication number: 20090077356Abstract: A method, computer program product, and data processing system for substituting a candidate instruction in application code being loaded during load time. Responsive to identifying the candidate instruction, a determination is made whether a hardware facility of the data processing system is present to execute the candidate instruction. If the hardware facility is absent from the data processing system, the candidate instruction is substituted with a second set of instructions.Type: ApplicationFiled: September 14, 2007Publication date: March 19, 2009Inventor: Mike Stephen Fulton
-
Publication number: 20090031292Abstract: A computer implemented method, apparatus, and computer program product for copy-on-write optimization of immutable objects. An immutable object is marked as read-only to form a read-only object. The read-only object is formed to delay copying of the immutable object until a runtime determination is made that a write to the immutable object will be made. In response to an attempt to write to the read-only object, an internal value of the read-only object is copied to read-and-write storage using runtime information to form a writable copy of the read-only object. A set of references for the read-only object is updated to point to the writable copy of the read-only object. Delaying copying of the immutable object optimizes a copy-on-write of the immutable object.Type: ApplicationFiled: July 24, 2007Publication date: January 29, 2009Inventors: Mike Stephen Fulton, Nikola Grcevski, Derek Bruce Inglis
-
Publication number: 20080127141Abstract: A computer implemented method, a computer program product and a data processing system for executing an application written in a dynamic language are provided. An execution point of the application is loaded. A list of classes associated with the execution point is generated. The loading of each class in the list of classes is simulated. New execution points and new classes accessible from each execution point within each class in the list of classes are identified by recursively parsing instructions associated with each execution point. The list is modified to include the identified new execution points and new classes. Responsive to a determination that new execution points and new classes have been identified, the steps of identifying new execution points and new classes and modifying the list is repeated. The list is saved.Type: ApplicationFiled: August 17, 2006Publication date: May 29, 2008Inventor: Mike Stephen Fulton
-
Patent number: 5916308Abstract: In present computing systems having dynamic linked libraries (DLLs), the user must either explicitly provide directives at the source level or use linker and loader support provided by the computing system. The present invention enables an application programmer to use unmodified source code in conjunction with a compiler, prelinker and runtime library to develop and use DLLs. A DLL can be extended by adding new functions and variables without requiring users of the DLL to recompile or relink their application.Type: GrantFiled: February 27, 1996Date of Patent: June 29, 1999Assignee: International Business Machines CorporationInventors: Robert Paul Duncan, Mike Stephen Fulton, Brian James Minchau