• Home
  • Raw
  • Download

Lines Matching refs:function

188             function = lib.get_function(func_id)
189 function.subtree_event_count += event_count
192 function.event_count += event_count
193 function.sample_count += 1
195 function.build_addr_hit_map(addr, event_count if i == 0 else 0, event_count)
215 for function in lib.functions.values():
216 if function.subtree_event_count < min_func_limit:
217 to_del_funcs.append(function.func_id)
219 hit_func_ids.add(function.func_id)
262 function = self.functions.get(func_id)
263 if not function:
264 function = self.functions[func_id] = FunctionScope(func_id)
265 return function
277 for func_id, function in lib.functions.items():
280 self.functions[func_id] = function
282 cur_function.merge(function)
340 def merge(self, function: FunctionScope):
341 self.sample_count += function.sample_count
342 self.event_count += function.event_count
343 self.subtree_event_count += function.subtree_event_count
344 self.addr_hit_map = self.__merge_hit_map(self.addr_hit_map, function.addr_hit_map)
345 self.line_hit_map = self.__merge_hit_map(self.line_hit_map, function.line_hit_map)
476 function = self.name_to_func.get(key)
477 if function is None:
479 function = Function(lib_id, symbol.symbol_name, func_id, symbol.symbol_addr,
481 self.name_to_func[key] = function
482 self.id_to_func[func_id] = function
483 return function.func_id
490 for function in self.name_to_func.values():
491 if function.func_id not in left_func_ids:
492 del self.id_to_func[function.func_id]
743 for function in self.functions.id_to_func.values():
744 if function.func_name == 'unknown':
746 lib_info = self.libs.get_lib(function.lib_id)
749 function.start_addr, function.start_addr)
750 addr2line.add_addr(lib_info.name, lib_info.build_id, function.start_addr,
751 function.start_addr + function.addr_len - 1)
757 for function in lib.functions.values():
758 func_addr = self.functions.id_to_func[function.func_id].start_addr
759 for addr in function.addr_hit_map:
764 for function in self.functions.id_to_func.values():
765 if function.func_name == 'unknown':
767 dso = addr2line.get_dso(self.libs.get_lib(function.lib_id).name)
770 start_source = addr2line.get_addr_source(dso, function.start_addr)
771 end_source = addr2line.get_addr_source(dso, function.start_addr + function.addr_len - 1)
780 function.source_info = (source_file.file_id, start_line, end_line)
788 for function in lib.functions.values():
789 for addr in function.addr_hit_map:
797 count_info = function.addr_hit_map[addr]
798 function.build_line_hit_map(source_file.file_id, line, count_info[0],
813 for function in self.functions.id_to_func.values():
814 if function.func_name == 'unknown':
816 lib_functions[function.lib_id].append(function)
840 for function, disassembly in zip(task, result):
841 function.disassembly = disassembly.lines
854 for function in functions:
856 function.start_addr - job_start_addr > disassemble_job_size):
857 job_start_addr = function.start_addr
858 result.append([function])
860 result[-1].append(function)
918 function = self.functions.id_to_func[func_id]
920 func_data['l'] = function.lib_id
921 func_data['f'] = modify_text_for_html(function.func_name)
922 if function.source_info:
923 func_data['s'] = function.source_info
924 if function.disassembly:
926 for code, addr in function.disassembly: