Lines Matching refs:dso
51 static void dso__inject_id(struct dso *dso, struct dso_id *id) in dso__inject_id() argument
53 dso->id.maj = id->maj; in dso__inject_id()
54 dso->id.min = id->min; in dso__inject_id()
55 dso->id.ino = id->ino; in dso__inject_id()
56 dso->id.ino_generation = id->ino_generation; in dso__inject_id()
71 int dso__cmp_id(struct dso *a, struct dso *b) in dso__cmp_id()
79 struct dso *pos; in __dsos__read_build_ids()
109 static int __dso__cmp_long_name(const char *long_name, struct dso_id *id, struct dso *b) in __dso__cmp_long_name()
115 static int __dso__cmp_short_name(const char *short_name, struct dso_id *id, struct dso *b) in __dso__cmp_short_name()
121 static int dso__cmp_short_name(struct dso *a, struct dso *b) in dso__cmp_short_name()
131 struct dso *__dsos__findnew_link_by_longname_id(struct rb_root *root, struct dso *dso, in __dsos__findnew_link_by_longname_id() argument
138 name = dso->long_name; in __dsos__findnew_link_by_longname_id()
143 struct dso *this = rb_entry(*p, struct dso, rb_node); in __dsos__findnew_link_by_longname_id()
153 if (!dso || (dso == this)) in __dsos__findnew_link_by_longname_id()
160 rc = dso__cmp_short_name(dso, this); in __dsos__findnew_link_by_longname_id()
171 if (dso) { in __dsos__findnew_link_by_longname_id()
173 rb_link_node(&dso->rb_node, parent, p); in __dsos__findnew_link_by_longname_id()
174 rb_insert_color(&dso->rb_node, root); in __dsos__findnew_link_by_longname_id()
175 dso->root = root; in __dsos__findnew_link_by_longname_id()
180 void __dsos__add(struct dsos *dsos, struct dso *dso) in __dsos__add() argument
182 list_add_tail(&dso->node, &dsos->head); in __dsos__add()
183 __dsos__findnew_link_by_longname_id(&dsos->root, dso, NULL, &dso->id); in __dsos__add()
204 dso__get(dso); in __dsos__add()
207 void dsos__add(struct dsos *dsos, struct dso *dso) in dsos__add() argument
210 __dsos__add(dsos, dso); in dsos__add()
214 static struct dso *__dsos__findnew_by_longname_id(struct rb_root *root, const char *name, struct ds… in __dsos__findnew_by_longname_id()
219 static struct dso *__dsos__find_id(struct dsos *dsos, const char *name, struct dso_id *id, bool cmp… in __dsos__find_id()
221 struct dso *pos; in __dsos__find_id()
232 struct dso *__dsos__find(struct dsos *dsos, const char *name, bool cmp_short) in __dsos__find()
237 static void dso__set_basename(struct dso *dso) in dso__set_basename() argument
242 if (sscanf(dso->long_name, "/tmp/perf-%d.map", &tid) == 1) { in dso__set_basename()
250 lname = strdup(dso->long_name); in dso__set_basename()
266 dso__set_short_name(dso, base, true); in dso__set_basename()
269 static struct dso *__dsos__addnew_id(struct dsos *dsos, const char *name, struct dso_id *id) in __dsos__addnew_id()
271 struct dso *dso = dso__new_id(name, id); in __dsos__addnew_id() local
273 if (dso != NULL) { in __dsos__addnew_id()
274 __dsos__add(dsos, dso); in __dsos__addnew_id()
275 dso__set_basename(dso); in __dsos__addnew_id()
277 dso__put(dso); in __dsos__addnew_id()
279 return dso; in __dsos__addnew_id()
282 struct dso *__dsos__addnew(struct dsos *dsos, const char *name) in __dsos__addnew()
287 static struct dso *__dsos__findnew_id(struct dsos *dsos, const char *name, struct dso_id *id) in __dsos__findnew_id()
289 struct dso *dso = __dsos__find_id(dsos, name, id, false); in __dsos__findnew_id() local
291 if (dso && dso_id__empty(&dso->id) && !dso_id__empty(id)) in __dsos__findnew_id()
292 dso__inject_id(dso, id); in __dsos__findnew_id()
294 return dso ? dso : __dsos__addnew_id(dsos, name, id); in __dsos__findnew_id()
297 struct dso *dsos__findnew_id(struct dsos *dsos, const char *name, struct dso_id *id) in dsos__findnew_id()
299 struct dso *dso; in dsos__findnew_id() local
301 dso = dso__get(__dsos__findnew_id(dsos, name, id)); in dsos__findnew_id()
303 return dso; in dsos__findnew_id()
307 bool (skip)(struct dso *dso, int parm), int parm) in __dsos__fprintf_buildid() argument
309 struct dso *pos; in __dsos__fprintf_buildid()
325 struct dso *pos; in __dsos__fprintf()