Patent ID: 8522223

Claim:
A method implemented by a transactional memory (TM) compiler, the method comprising recognizing a function declared as being TM compatible by a programmer within a parallel programming application; automatically creating a TM version of the function declared as being TM compatible by: adding static code to check for concurrency conflict detection and transaction rollback; automatically storing an address of the TM version of the function a fixed offset from the location of the function declared as being TM compatible; automatically adding a call to an empty function at the beginning of the function declared as being TM compatible that has a TM version; and automatically adding static code for a pointer utilized within the TM version of the function to check whether a function pointed to includes a call to the empty function, and at runtime: if the function pointed to includes the call to the empty function, calling a function at an address stored the fixed offset from the function pointed to; or if the function pointed to does not include a call to the empty function, calling a translate function that will translate the function pointed to into a TM version thereof at runtime.