Lines Matching refs:sym

443 int symbol__annotate_init(struct map *map __maybe_unused, struct symbol *sym)  in symbol__annotate_init()  argument
445 struct annotation *notes = symbol__annotation(sym); in symbol__annotate_init()
450 int symbol__alloc_hist(struct symbol *sym) in symbol__alloc_hist() argument
452 struct annotation *notes = symbol__annotation(sym); in symbol__alloc_hist()
453 const size_t size = symbol__size(sym); in symbol__alloc_hist()
477 static int symbol__alloc_hist_cycles(struct symbol *sym) in symbol__alloc_hist_cycles() argument
479 struct annotation *notes = symbol__annotation(sym); in symbol__alloc_hist_cycles()
480 const size_t size = symbol__size(sym); in symbol__alloc_hist_cycles()
488 void symbol__annotate_zero_histograms(struct symbol *sym) in symbol__annotate_zero_histograms() argument
490 struct annotation *notes = symbol__annotation(sym); in symbol__annotate_zero_histograms()
498 symbol__size(sym) * sizeof(struct cyc_hist)); in symbol__annotate_zero_histograms()
543 static int __symbol__inc_addr_samples(struct symbol *sym, struct map *map, in __symbol__inc_addr_samples() argument
551 if (addr < sym->start || addr >= sym->end) { in __symbol__inc_addr_samples()
553 __func__, __LINE__, sym->name, sym->start, addr, sym->end); in __symbol__inc_addr_samples()
557 offset = addr - sym->start; in __symbol__inc_addr_samples()
563 ", evidx=%d] => %" PRIu64 "\n", sym->start, sym->name, in __symbol__inc_addr_samples()
564 addr, addr - sym->start, evidx, h->addr[offset]); in __symbol__inc_addr_samples()
568 static struct annotation *symbol__get_annotation(struct symbol *sym, bool cycles) in symbol__get_annotation() argument
570 struct annotation *notes = symbol__annotation(sym); in symbol__get_annotation()
573 if (symbol__alloc_hist(sym) < 0) in symbol__get_annotation()
577 if (symbol__alloc_hist_cycles(sym) < 0) in symbol__get_annotation()
583 static int symbol__inc_addr_samples(struct symbol *sym, struct map *map, in symbol__inc_addr_samples() argument
588 if (sym == NULL) in symbol__inc_addr_samples()
590 notes = symbol__get_annotation(sym, false); in symbol__inc_addr_samples()
593 return __symbol__inc_addr_samples(sym, map, notes, evidx, addr); in symbol__inc_addr_samples()
597 struct symbol *sym, unsigned cycles) in symbol__account_cycles() argument
602 if (sym == NULL) in symbol__account_cycles()
604 notes = symbol__get_annotation(sym, true); in symbol__account_cycles()
607 if (addr < sym->start || addr >= sym->end) in symbol__account_cycles()
611 if (start < sym->start || start >= sym->end) in symbol__account_cycles()
616 offset = addr - sym->start; in symbol__account_cycles()
618 start ? start - sym->start : 0, in symbol__account_cycles()
641 (start->sym == ams->sym || in addr_map_symbol__account_cycles()
642 (ams->sym && in addr_map_symbol__account_cycles()
643 start->addr == ams->sym->start + ams->map->start))) in addr_map_symbol__account_cycles()
649 ams->sym ? ams->sym->start + ams->map->start : 0, in addr_map_symbol__account_cycles()
651 err = symbol__account_cycles(ams->al_addr, saddr, ams->sym, cycles); in addr_map_symbol__account_cycles()
659 return symbol__inc_addr_samples(ams->sym, ams->map, evidx, ams->al_addr); in addr_map_symbol__inc_samples()
664 return symbol__inc_addr_samples(he->ms.sym, he->ms.map, evidx, ip); in hist_entry__inc_addr_samples()
818 static int disasm_line__print(struct disasm_line *dl, struct symbol *sym, u64 start, in disasm_line__print() argument
833 struct annotation *notes = symbol__annotation(sym); in disasm_line__print()
872 disasm_line__print(queue, sym, start, evsel, len, in disasm_line__print()
955 static int symbol__parse_objdump_line(struct symbol *sym, struct map *map, in symbol__parse_objdump_line() argument
959 struct annotation *notes = symbol__annotation(sym); in symbol__parse_objdump_line()
1008 u64 start = map__rip_2objdump(map, sym->start), in symbol__parse_objdump_line()
1009 end = map__rip_2objdump(map, sym->end); in symbol__parse_objdump_line()
1027 map__rip_2objdump(map, sym->start); in symbol__parse_objdump_line()
1037 target.sym->start == target.al_addr) in symbol__parse_objdump_line()
1038 dl->ops.target.name = strdup(target.sym->name); in symbol__parse_objdump_line()
1051 static void delete_last_nop(struct symbol *sym) in delete_last_nop() argument
1053 struct annotation *notes = symbol__annotation(sym); in delete_last_nop()
1075 int symbol__annotate(struct symbol *sym, struct map *map, size_t privsize) in symbol__annotate() argument
1095 sym->name); in symbol__annotate()
1138 sym->name, build_id_msg ?: ""); in symbol__annotate()
1143 filename, sym->name, map->unmap_ip(map, sym->start), in symbol__annotate()
1144 map->unmap_ip(map, sym->end)); in symbol__annotate()
1147 dso, dso->long_name, sym, sym->name); in symbol__annotate()
1151 kce.addr = map__rip_2objdump(map, sym->start); in symbol__annotate()
1152 kce.offs = sym->start; in symbol__annotate()
1153 kce.len = sym->end - sym->start; in symbol__annotate()
1202 map__rip_2objdump(map, sym->start), in symbol__annotate()
1203 map__rip_2objdump(map, sym->end), in symbol__annotate()
1222 if (symbol__parse_objdump_line(sym, map, file, privsize, in symbol__annotate()
1236 delete_last_nop(sym); in symbol__annotate()
1333 static void symbol__free_source_line(struct symbol *sym, int len) in symbol__free_source_line() argument
1335 struct annotation *notes = symbol__annotation(sym); in symbol__free_source_line()
1352 static int symbol__get_source_line(struct symbol *sym, struct map *map, in symbol__get_source_line() argument
1360 struct annotation *notes = symbol__annotation(sym); in symbol__get_source_line()
1383 start = map__rip_2objdump(map, sym->start); in symbol__get_source_line()
1452 static void symbol__annotate_hits(struct symbol *sym, struct perf_evsel *evsel) in symbol__annotate_hits() argument
1454 struct annotation *notes = symbol__annotation(sym); in symbol__annotate_hits()
1456 u64 len = symbol__size(sym), offset; in symbol__annotate_hits()
1461 sym->start + offset, h->addr[offset]); in symbol__annotate_hits()
1465 int symbol__annotate_printf(struct symbol *sym, struct map *map, in symbol__annotate_printf() argument
1473 struct annotation *notes = symbol__annotation(sym); in symbol__annotate_printf()
1475 u64 start = map__rip_2objdump(map, sym->start); in symbol__annotate_printf()
1491 len = symbol__size(sym); in symbol__annotate_printf()
1506 symbol__annotate_hits(sym, evsel); in symbol__annotate_printf()
1514 switch (disasm_line__print(pos, sym, start, evsel, len, in symbol__annotate_printf()
1550 void symbol__annotate_zero_histogram(struct symbol *sym, int evidx) in symbol__annotate_zero_histogram() argument
1552 struct annotation *notes = symbol__annotation(sym); in symbol__annotate_zero_histogram()
1558 void symbol__annotate_decay_histogram(struct symbol *sym, int evidx) in symbol__annotate_decay_histogram() argument
1560 struct annotation *notes = symbol__annotation(sym); in symbol__annotate_decay_histogram()
1562 int len = symbol__size(sym), offset; in symbol__annotate_decay_histogram()
1609 int symbol__tty_annotate(struct symbol *sym, struct map *map, in symbol__tty_annotate() argument
1617 if (symbol__annotate(sym, map, 0) < 0) in symbol__tty_annotate()
1620 len = symbol__size(sym); in symbol__tty_annotate()
1624 symbol__get_source_line(sym, map, evsel, &source_line, len); in symbol__tty_annotate()
1628 symbol__annotate_printf(sym, map, evsel, full_paths, in symbol__tty_annotate()
1631 symbol__free_source_line(sym, len); in symbol__tty_annotate()
1633 disasm__purge(&symbol__annotation(sym)->src->source); in symbol__tty_annotate()
1640 return symbol__annotate(he->ms.sym, he->ms.map, privsize); in hist_entry__annotate()