BPatch_point *BPatch_addressSpace::createBPPointCB(AddressSpace *a, Dyninst::PatchAPI::PatchFunction *pf, Dyninst::PatchAPI::Point *p, int type) { func_instance *fi = static_cast<func_instance *>(pf); instPoint *ip = static_cast<instPoint *>(p); BPatch_addressSpace *aS = (BPatch_addressSpace *)a->up_ptr(); assert(aS); BPatch_module *bpmod = aS->getImage()->findOrCreateModule(fi->mod()); assert(bpmod); BPatch_function *func = aS->findOrCreateBPFunc(fi, bpmod); assert(func); return aS->findOrCreateBPPoint(func, ip, (BPatch_procedureLocation) type); }
BPatch_function *BPatch_addressSpace::createBPFuncCB(AddressSpace *a, Dyninst::PatchAPI::PatchFunction *f) { BPatch_addressSpace *aS = (BPatch_addressSpace *)a->up_ptr(); assert(aS); return aS->findOrCreateBPFunc(f, NULL); }