Method, system and program product for implementing single threaded optimizations in a potentially multi-threaded environment
First Claim
Patent Images
1. A method for implementing single threaded optimizations in a potentially multi-threaded environment, comprising:
- examining program code for characteristics indicative of a potential to generate multiple threads; and
implementing at least one single threaded optimization if the examining step reveals that the program code does not have the potential to generate multiple threads, wherein the implementing step is correctible if the program code is later revealed to have the potential to generate multiple threads.
3 Assignments
0 Petitions
Accused Products
Abstract
Under the present invention, program code is examined (statically or dynamically) for characteristics indicative of a potential to generate multiple threads. If none are found, single threaded optimization(s) such as desynchronization, optimization of globals, etc., can be implemented. In addition, if the program code is later revealed to have the potential to generate multiple threads, the single threaded optimization(s) can be corrected to avoid incorrect execution.
-
Citations
28 Claims
-
1. A method for implementing single threaded optimizations in a potentially multi-threaded environment, comprising:
-
examining program code for characteristics indicative of a potential to generate multiple threads; and
implementing at least one single threaded optimization if the examining step reveals that the program code does not have the potential to generate multiple threads, wherein the implementing step is correctible if the program code is later revealed to have the potential to generate multiple threads. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for implementing single threaded optimizations in a potentially multi-threaded environment, comprising:
-
dynamically examining program code for characteristics indicative of a potential to generate multiple threads;
implementing at least one single threaded optimization if the dynamically examining step reveals that the program code does not have the potential to generate multiple threads; and
removing the at least one single threaded optimization if the program code is later revealed to have the potential to generate multiple threads.
-
-
11. A system for implementing single threaded optimizations in a potentially multi-threaded environment, comprising:
-
a code examination system for examining program code for characteristics indicative of a potential to generate multiple threads;
an optimization system for implementing at least one single threaded optimization if the code examination system reveals that the program code does not have the potential to generate multiple threads; and
a review system for removing the at least one single threaded optimization if the program code is later revealed to have the potential to generate multiple threads. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A program product stored on a recordable medium for implementing single threaded optimizations in a potentially multi-threaded environment, which when executed, comprises:
-
means for examining program code for characteristics indicative of a potential to generate multiple threads;
means for implementing at least one single threaded optimization if the means for examining reveals that the program code does not have the potential to generate multiple threads; and
means for removing the at least one single threaded optimization if the program code is later revealed to have the potential to generate multiple threads. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
-
27. A system for deploying an application for implementing single threaded optimizations in a potentially multi-threaded environment, comprising:
a computer infrastructure being operable to;
examine program code for characteristics indicative of a potential to generate multiple threads;
implement at least one single threaded optimization if the means for examining reveals that the program code does not have the potential to generate multiple threads; and
remove the at least one single threaded optimization if the program code is later revealed to have the potential to generate multiple threads.
-
28. Computer software embodied in a propagated signal for implementing single threaded optimizations in a potentially multi-threaded environment, the computer software comprises instructions to cause a computer system to perform the following functions:
-
examine program code for characteristics indicative of a potential to generate multiple threads;
implement at least one single threaded optimization if the means for examining reveals that the program code does not have the potential to generate multiple threads; and
remove the at least one single threaded optimization if the program code is later revealed to have the potential to generate multiple threads.
-
Specification