RUNTIME CODE MODIFICATION IN A MULTI-THREADED ENVIRONMENT
First Claim
1. A data processing system comprising:
- at least one processor;
a bus coupled to the at least one processor;
at least one computer usable medium coupled to the bus, wherein the at least one computer usable medium contains a set of instructions 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, wherein the at least one processor is adapted to carry out the set of instructions by causing the data processing system to provide 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.
40 Citations
16 Claims
-
1. A data processing system comprising:
-
at least one processor; a bus coupled to the at least one processor; at least one computer usable medium coupled to the bus, wherein the at least one computer usable medium contains a set of instructions 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, wherein the at least one processor is adapted to carry out the set of instructions by causing the data processing system to provide 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. - View Dependent Claims (2, 3)
-
-
4. A data processing system comprising:
-
at least one processor; a bus coupled to the at least one processor; at least one computer usable medium coupled to the bus, wherein the at least one computer usable medium contains a set of instructions for modifying a code region forming part of a computer program during execution of the computer program by a plurality of threads, wherein the at least one processor is adapted to carry out the set of instructions by causing the data processing system to; select a thread to modify the code region to form a selected thread; 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 (5, 6, 7, 8)
-
-
9. A data processing system comprising:
-
at least one processor; a bus coupled to the at least one processor; at least one computer usable medium coupled to the bus, wherein the at least one computer usable medium contains a set of instructions 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, wherein the at least one processor is adapted to carry out the set of instructions by causing the data processing system to include 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. - View Dependent Claims (10, 11)
-
-
12. A data processing system comprising:
-
at least one processor; a bus coupled to the at least one processor; at least one computer usable medium coupled to the bus, wherein the at least one computer usable medium contains a set of instructions for causing modification of a code region forming part of a computer program during execution of the computer program by a plurality of threads, wherein the at least one processor is adapted to carry out the set of instructions by causing the data processing system to; include in the code region a call to a set of modification instructions whereby an arbitrary thread that executes the call will become a selected thread, wherein the modification 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