Method 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;
wherein the examining is performed dynamically as the program code is running allowing the method to be refined;
wherein the method is refined by at least one of reducing a number of situations that prevent single threaded optimizations from being implemented and delaying correction of single threaded optimizations that have been implemented; and
implementing at least one single threaded optimization if the examining reveals that the program code does not have the potential to generate multiple threads, wherein the implementing 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.
15 Citations
8 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;
wherein the examining is performed dynamically as the program code is running allowing the method to be refined;
wherein the method is refined by at least one of reducing a number of situations that prevent single threaded optimizations from being implemented and delaying correction of single threaded optimizations that have been implemented; andimplementing at least one single threaded optimization if the examining reveals that the program code does not have the potential to generate multiple threads, wherein the implementing 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. 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;
wherein performing the examining dynamically allows the method to be refined;
wherein the method is refined by at least one of reducing a number of situations that prevent single threaded optimizations from being implemented and delaying correction of single threaded optimizations that have been implemented;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.
-
Specification