Patent ID: 7111294

Claim:
A computer program product stored on at least one physical computer readable media and encoding a computer program for executing on a computer system a computer implemented method for managing allocation of program data in a target program between one or more thread-specific heaps and at least one shared heap, the program data including thread-specific data and shared data, the computer implemented method comprising: analyzing the target program during code compilation to distinguish among the proven thread-specific data of a first program thread, the proven thread-specific data of a second program thread, and the shared data, wherein program data in the target program is identified as the shared data, if the program data is referenced by the first program thread and the second program thread; configuring the target program to allocate the proven thread-specific data of the first program thread to a first thread-specific heap, responsive to the analyzing operation; configuring the target program to allocate the proven thread-specific data of the second program thread to a second thread-specific heap, responsive to the analyzing operation; and configuring the target program to allocate the shared data to the shared heap, responsive to the analyzing operation.