Patent ID: 8719839

Claim:
A method in a computer platform comprising: creating a shared object accessible by a plurality of heterogeneous processors that includes a first processor and a second processor, wherein the shared object may include first member functions and second member functions, allocating the first member functions to a first processor and the second member functions to a second processor, allowing the first processor to invoke the second member functions and the second processor to invoke the first member functions, associating the first member functions with a first annotation value to allocate the first member functions to the first processor and associating the second member functions with a second annotation value to allocate the second member functions to the second processor, declaring a pointer to virtual function table of the first processor using a first macro function, and initializing the pointer to the virtual function table of the first processor using a second macro function, wherein the first processor invoking the second member functions and the second processor invoking the first member functions provides a two-way communication between the first processor and the second processor, and wherein the first member functions and the second member functions include virtual functions.