System and method for dynamically replacing code
First Claim
Patent Images
1. A method for dynamically patching code, comprising the steps of:
- intercepting original program instructions during execution of the program;
determining if an original program instruction is to be replaced; and
dynamically replacing the original program instruction with a replacement instruction by fetching the replacement instruction and storing the replacement instruction in a code cache from which the replacement instruction can be executed in lieu of the original program instruction.
3 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure relates to a system and method for dynamically replacing code. In one arrangement, the system and method pertain to intercepting original program instructions during execution of the program, determining if an original program instruction is to be replaced, and dynamically replacing the program instruction with a replacement instruction if it is determined that the original program instruction is to be replaced.
159 Citations
18 Claims
-
1. A method for dynamically patching code, comprising the steps of:
-
intercepting original program instructions during execution of the program;
determining if an original program instruction is to be replaced; and
dynamically replacing the original program instruction with a replacement instruction by fetching the replacement instruction and storing the replacement instruction in a code cache from which the replacement instruction can be executed in lieu of the original program instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for dynamically patching code, comprising:
-
means for gaining control over execution of a program;
means for intercepting original program instructions during execution of the program;
means for determining if an original program instruction is to be replaced with a new instruction; and
means for dynamically replacing the original program instruction with a replacement instruction, the means for dynamically replacing being configured to fetch the replacement instruction and store the replacement instruction in a code cache from which the replacement instruction can be executed in lieu of the original program instruction. - View Dependent Claims (10, 11)
-
-
12. A dynamic patching program stored on a computer-readable medium, the program comprising:
-
logic configured to gain control over execution of a program;
logic configured to intercept original program instructions during program execution;
logic configured to determine if an original program instruction is to be replaced; and
logic configured to dynamically replace the program instruction with a replacement instruction by fetching the replacement instruction and storing the replacement instruction in a code cache from which the replacement instruction can be executed in lieu of the original program instruction. - View Dependent Claims (13, 14)
-
-
15. A method for dynamically patching code, comprising:
-
gaining control over the execution of a program using a software interface;
intercepting original program instructions during execution of the program;
determining whether the original program instructions have been cached in a code cache of the software interface and, if so, executing the cached instructions;
if the original program instructions have not been cached, determining if the original program instructions are to be replaced;
dynamically replacing the original program instructions with replacement instructions if it is determined that the original program instructions are to be replaced by fetching the replacement instructions and storing the replacement instructions in the code cache of the software interface; and
executing the replacement instructions from the code cache of the software interface in lieu of the original program instructions. - View Dependent Claims (16, 17, 18)
-
Specification