RUNTIME CODE MODIFICATION IN A MULTI-THREADED ENVIRONMENT
First Claim
1. A computer program product comprising at least one computer-usable medium having computer-usable program code for making a desirable idempotent atomic modification to a site in a code region forming part of a computer program during execution of the computer program by a plurality of threads, said computer program product comprising computer-usable program code for providing identical modification instructions to each thread for modifying the site in the code region, wherein the modification instructions direct each thread to make the desirable idempotent atomic modification.
1 Assignment
0 Petitions
Accused Products
Abstract
A code region forming part of a computer program is modified during execution of the computer program by a plurality of threads. In one aspect, identical modification instructions are provided to each thread for modifying a site in the code region having a desirable idempotent atomic modification, and the modification instructions direct each thread to make the desirable idempotent atomic modification. In another aspect, a thread is selected to modify the code region, each thread other than the selected thread is directed to execute an alternative execution path that generates output identical to the output of the code region after the code region has been modified, and, responsive to directing each thread other than the selected thread, the selected thread is directed to modify the code region.
-
Citations
16 Claims
- 1. A computer program product comprising at least one computer-usable medium having computer-usable program code for making a desirable idempotent atomic modification to a site in a code region forming part of a computer program during execution of the computer program by a plurality of threads, said computer program product comprising computer-usable program code for providing identical modification instructions to each thread for modifying the site in the code region, wherein the modification instructions direct each thread to make the desirable idempotent atomic modification.
-
4. A computer program product comprising at least one computer-usable medium having computer-usable program code for making a desirable modification to a code region forming part of a computer program during execution of the computer program by a plurality of threads, said computer program product comprising:
-
computer-usable program code for selecting a thread to modify the code region to form a selected thread; computer-usable program code for directing each thread other than the selected thread to follow an alternative execution path that generates output identical to output of the code region after the desirable modification has been made to the code region; and computer-usable program code for, responsive to directing each thread other than the selected thread, directing the selected thread to make the desirable modification to the code region so as to generate a modified code region. - View Dependent Claims (5, 6, 7, 8)
-
- 9. A computer program product comprising at least one computer-usable medium having computer-usable program code for causing a desirable idempotent atomic modification to be made to a site in a code region forming part of a computer program during execution of the computer program by a plurality of threads, said computer program product comprising computer-usable program code for including in the code region a call to a set of modification instructions so that each thread reaching the call will make the desirable idempotent atomic modification.
-
12. A computer program product comprising at least one computer-usable medium having computer-usable program code for causing a desirable modification to be made to a code region forming part of a computer program during execution of the computer program by a plurality of threads, said computer program product comprising:
-
computer-usable program code for including in the code region a call to a set of instructions whereby an arbitrary thread that executes the call will become a selected thread, wherein the instructions, when executed, direct each thread other than the selected thread to follow an alternative execution path that generates output identical to output of the code region after the desirable modification has been made to the code region; and responsive to directing each thread other than the selected thread, direct the selected thread to make the desirable modification to the code region so as to generate a modified code region. - View Dependent Claims (13, 14, 15, 16)
-
Specification