Software transactional protection of managed pointers
First Claim
1. A method for providing software transactional protection of managed pointers comprising the steps of:
- at compile time, determining that there are one or more variables being passed by reference to separately compiled code segments in at least one code segment being compiled;
selecting at least one technique for communicating the sources of the variables being passed by reference;
modifying the at least one code segment to implement the selected technique; and
creating an executable using the modified code segment.
2 Assignments
0 Petitions
Accused Products
Abstract
Various technologies and techniques are disclosed that provide software transactional protection of managed pointers. A software transactional memory system interacts with and/or includes a compiler. At compile time, the compiler determines that there are one or more reference arguments in one or more code segments being compiled whose source cannot be recovered. The compiler executes a procedure to select one or more appropriate techniques or combinations thereof for communicating the sources of the referenced variables to the called code segments to ensure the referenced variables can be recovered when needed. Some examples of these techniques include a fattened by-ref technique, a static fattening technique, a dynamic ByRefInfo type technique, and others. One or more combinations of these techniques can be used as appropriate.
-
Citations
20 Claims
-
1. A method for providing software transactional protection of managed pointers comprising the steps of:
-
at compile time, determining that there are one or more variables being passed by reference to separately compiled code segments in at least one code segment being compiled; selecting at least one technique for communicating the sources of the variables being passed by reference; modifying the at least one code segment to implement the selected technique; and creating an executable using the modified code segment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for providing software transactional protection of managed pointers comprising the steps of:
-
determining that a static fattening technique should be used to allow a source of a particular reference argument to be recovered when needed; at compile time, creating a static data structure for storing static by-ref information about the particular reference argument; creating a global table for storing static by-ref information; and when compiling a call to a method accepting the particular reference argument, adding static by-ref information entries to the global table describing the actual arguments to the particular reference argument, for later retrieval. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer-readable medium having computer-executable instructions for causing a computer to perform steps comprising:
-
at compile time, determine that there is a first argument and a second argument referenced in at least one code segment being compiled whose source cannot be recovered; select at least one technique for communicating a first source of the first argument; select at least one technique for communicating a second source of the second argument, the second technique solving a problem that is only present with the second argument and not the first argument; and modify the at least one code segment to implement the first technique for the first argument and the second technique for the second argument. - View Dependent Claims (17, 18, 19, 20)
-
Specification