void add_function_entry(void *addr, const string *comment, bool isvisible, int call_count) { FunctionSet::iterator it = function_entries.find(addr); if (it == function_entries.end()) { new_function_entry(addr, comment ? new string(*comment) : NULL, isvisible, call_count); } else { Function *f = (*it).second; if (comment) { f->AppendComment(comment); } else if (f->comment) { f->isvisible = true; } f->call_count += call_count; } }