Multi-threaded fragment patching
First Claim
Patent Images
1. A method of providing a link between pieces of compiled code in a self-modifying multi-threaded computer system having system memory and a system compiler for compiling a program during execution of a program, the method comprising the steps of:
- (a) first determining whether a first piece of code includes a dominant path therethrough formed of a series of program instructions for execution one after another in sequence during execution of the dominant path;
(b) first determining whether the first piece of code includes a control transfer instruction therein;
(c) first compiling the first piece of code by the system compiler during execution of the program to provide a first piece of compiled code only if the first piece of code is determined to be a dominant path and the control transfer instruction is determined to be present in the first piece of code;
(d) second compiling a second piece of code by the system compiler during execution of the program to provide a second piece of compiled code; and
(e) creating a link between the first and second pieces of compiled code by changing the control transfer instruction within of the first piece of compiled code, whereby the link is disposed in the first piece of compiled code for linking the first piece of compiled code to the second piece of compiled code.
9 Assignments
0 Petitions
Accused Products
Abstract
A method and system multi-threaded fragment patching. The method provides a link in a self-modifying multi-threaded computer system between a first and a second piece of compiled code where the first piece of compiled code includes a control transfer instruction to the second piece of compiled code. The link is formed by inserting a patch from the first piece of compiled code to the second piece of compiled code. The patch may be a direct reference or a reference to an outlier.
61 Citations
11 Claims
-
1. A method of providing a link between pieces of compiled code in a self-modifying multi-threaded computer system having system memory and a system compiler for compiling a program during execution of a program, the method comprising the steps of:
-
(a) first determining whether a first piece of code includes a dominant path therethrough formed of a series of program instructions for execution one after another in sequence during execution of the dominant path; (b) first determining whether the first piece of code includes a control transfer instruction therein; (c) first compiling the first piece of code by the system compiler during execution of the program to provide a first piece of compiled code only if the first piece of code is determined to be a dominant path and the control transfer instruction is determined to be present in the first piece of code; (d) second compiling a second piece of code by the system compiler during execution of the program to provide a second piece of compiled code; and (e) creating a link between the first and second pieces of compiled code by changing the control transfer instruction within of the first piece of compiled code, whereby the link is disposed in the first piece of compiled code for linking the first piece of compiled code to the second piece of compiled code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
Specification