static void recordNameAndArgs(const SrcKey& sk, const StringData* name, int numArgs) { CallRecord cr; cr.m_type = EncodedNameAndArgs; cr.m_encodedName = encodeCallAndArgs(name, numArgs); s_callDB.insert(std::make_pair(sk, cr)); }
static void recordFunc(const SrcKey sk, const Func* func) { FTRACE(2, "annotation: recordFunc: {}@{} {}\n", sk.unit()->filepath()->data(), sk.offset(), func->fullName()->data()); s_callDB.insert(std::make_pair(sk, func)); }
static void recordFunc(NormalizedInstruction& i, const SrcKey& sk, const Func* func) { FTRACE(2, "annotation: recordFunc: {}@{} {}\n", i.m_unit->filepath()->data(), sk.offset(), func->fullName()->data()); CallRecord cr; cr.m_type = Function; cr.m_func = func; s_callDB.insert(std::make_pair(sk, cr)); i.directCall = true; }
void recordFunc(const SrcKey& sk, const Func* func) { CallRecord cr; cr.m_type = Function; cr.m_func = func; s_callDB.insert(std::make_pair(sk, cr)); }