arrow_back_ios
Back to List
Caching Pointer Arguments
Offload KB - case-studies
Old Content Alert
Please note that this is a old document archive and the will most likely be out-dated or superseded by various other products and is purely here for historical purposes.
Pointer arguments can be similarly cached. In the next example we assume that the first pointer parameter is dereferenced frequently inside func or functions it calls. Hence we could cache only the first argument (subject to the same issues described in the previous articles /kb/135.html).
__offload()
{
auto localptr = *ptrarg1; //DMA or SW cache read into a local
ptr->func(&localptr,ptrarg2);//outer this pointer and local first argument
*ptrarg1 = localptr; //writing data back
}
Note that this example could also use cache classes described in /kb/136.html.