Adaptive code through self steered execution
First Claim
1. A method for generating self-steering executable code, the method comprising:
- analyzing program code;
identifying a given portion of code in the program code;
adding at least one optimized version of the given portion to the program code;
adding a selection mechanism to the program code, said selection mechanism being configured to select between two or more versions of the portion of code during runtime; and
compiling the program code with the added optimized version and the selection mechanism.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and mechanism for producing and executing self-steering program code. A method comprises analyzing program code and identifying portions which may be amenable to optimization. Having identified such a portion of code, at least one optimized version of the identified code is added to the program code. Additionally, a selection mechanism is added to the program code which is configured to select between two or more versions of the portion of code during runtime. The modified program code is then compiled with the added optimized version and the selection mechanism. During execution, monitoring of behavior of the code may be enabled or disabled. Based upon such monitored behavior, a different version of the code may be selected for execution. Various optimized versions may be selected for execution in a manner which takes advantage of the current behavior of the program
35 Citations
18 Claims
-
1. A method for generating self-steering executable code, the method comprising:
-
analyzing program code; identifying a given portion of code in the program code; adding at least one optimized version of the given portion to the program code; adding a selection mechanism to the program code, said selection mechanism being configured to select between two or more versions of the portion of code during runtime; and compiling the program code with the added optimized version and the selection mechanism. - View Dependent Claims (2, 3, 4, 5, 6, 14, 15, 16, 17, 18)
-
-
7. A processor comprising:
-
memory configured to store program code; and circuitry configured to; analyze program code; identify a given portion of code in the program code; add at least one optimized version of the given portion to the program code; add a selection mechanism to the program code, said selection mechanism being configured to select between two or more versions of the portion of code during runtime; and compile the program code with the added optimized version and the selection mechanism.
-
- 8. The processor as recited in claim 8, wherein said circuitry is configured to monitor the program code during execution.
-
13. A computer readable medium comprising program instructions, said program instructions being operable to:
-
analyze program code; identify a given portion of code in the program code; add at least one optimized version of the given portion to the program code; add a selection mechanism to the program code, said selection mechanism being configured to select between two or more versions of the portion of code during runtime; and compile the program code with the added optimized version and the selection mechanism.
-
Specification