DeviceTy::getOrAllocTgtPtr just returns a target pointer. In addition,
two bool values (IsNew and IsHostPtr) are passed by reference to make the
change in the function available in callee.
In this patch, a struct, which contains the target pointer, two flags, and an
iterator to the map table entry corresponding to the queried host pointer, will
be returned. In addition to make the logic clearer regarding the two bool values,
this paves the way for the next patch to fix the data race in bug49334.cpp by
attaching an event to the map table entry (and that's why we need the iterator).
contains --> containing