Lines Matching refs:dso

37 static void dso__inject_id(struct dso *dso, struct dso_id *id)  in dso__inject_id()  argument
39 dso->id.maj = id->maj; in dso__inject_id()
40 dso->id.min = id->min; in dso__inject_id()
41 dso->id.ino = id->ino; in dso__inject_id()
42 dso->id.ino_generation = id->ino_generation; in dso__inject_id()
57 int dso__cmp_id(struct dso *a, struct dso *b) in dso__cmp_id()
65 struct dso *pos; in __dsos__read_build_ids()
86 static int __dso__cmp_long_name(const char *long_name, struct dso_id *id, struct dso *b) in __dso__cmp_long_name()
92 static int __dso__cmp_short_name(const char *short_name, struct dso_id *id, struct dso *b) in __dso__cmp_short_name()
98 static int dso__cmp_short_name(struct dso *a, struct dso *b) in dso__cmp_short_name()
108 struct dso *__dsos__findnew_link_by_longname_id(struct rb_root *root, struct dso *dso, in __dsos__findnew_link_by_longname_id() argument
115 name = dso->long_name; in __dsos__findnew_link_by_longname_id()
120 struct dso *this = rb_entry(*p, struct dso, rb_node); in __dsos__findnew_link_by_longname_id()
130 if (!dso || (dso == this)) in __dsos__findnew_link_by_longname_id()
137 rc = dso__cmp_short_name(dso, this); in __dsos__findnew_link_by_longname_id()
148 if (dso) { in __dsos__findnew_link_by_longname_id()
150 rb_link_node(&dso->rb_node, parent, p); in __dsos__findnew_link_by_longname_id()
151 rb_insert_color(&dso->rb_node, root); in __dsos__findnew_link_by_longname_id()
152 dso->root = root; in __dsos__findnew_link_by_longname_id()
157 void __dsos__add(struct dsos *dsos, struct dso *dso) in __dsos__add() argument
159 list_add_tail(&dso->node, &dsos->head); in __dsos__add()
160 __dsos__findnew_link_by_longname_id(&dsos->root, dso, NULL, &dso->id); in __dsos__add()
181 dso__get(dso); in __dsos__add()
184 void dsos__add(struct dsos *dsos, struct dso *dso) in dsos__add() argument
187 __dsos__add(dsos, dso); in dsos__add()
191 static struct dso *__dsos__findnew_by_longname_id(struct rb_root *root, const char *name, struct ds… in __dsos__findnew_by_longname_id()
196 static struct dso *__dsos__find_id(struct dsos *dsos, const char *name, struct dso_id *id, bool cmp… in __dsos__find_id()
198 struct dso *pos; in __dsos__find_id()
209 struct dso *__dsos__find(struct dsos *dsos, const char *name, bool cmp_short) in __dsos__find()
214 static void dso__set_basename(struct dso *dso) in dso__set_basename() argument
219 if (sscanf(dso->long_name, "/tmp/perf-%d.map", &tid) == 1) { in dso__set_basename()
227 lname = strdup(dso->long_name); in dso__set_basename()
243 dso__set_short_name(dso, base, true); in dso__set_basename()
246 static struct dso *__dsos__addnew_id(struct dsos *dsos, const char *name, struct dso_id *id) in __dsos__addnew_id()
248 struct dso *dso = dso__new_id(name, id); in __dsos__addnew_id() local
250 if (dso != NULL) { in __dsos__addnew_id()
251 __dsos__add(dsos, dso); in __dsos__addnew_id()
252 dso__set_basename(dso); in __dsos__addnew_id()
254 dso__put(dso); in __dsos__addnew_id()
256 return dso; in __dsos__addnew_id()
259 struct dso *__dsos__addnew(struct dsos *dsos, const char *name) in __dsos__addnew()
264 static struct dso *__dsos__findnew_id(struct dsos *dsos, const char *name, struct dso_id *id) in __dsos__findnew_id()
266 struct dso *dso = __dsos__find_id(dsos, name, id, false); in __dsos__findnew_id() local
268 if (dso && dso_id__empty(&dso->id) && !dso_id__empty(id)) in __dsos__findnew_id()
269 dso__inject_id(dso, id); in __dsos__findnew_id()
271 return dso ? dso : __dsos__addnew_id(dsos, name, id); in __dsos__findnew_id()
274 struct dso *dsos__findnew_id(struct dsos *dsos, const char *name, struct dso_id *id) in dsos__findnew_id()
276 struct dso *dso; in dsos__findnew_id() local
278 dso = dso__get(__dsos__findnew_id(dsos, name, id)); in dsos__findnew_id()
280 return dso; in dsos__findnew_id()
284 bool (skip)(struct dso *dso, int parm), int parm) in __dsos__fprintf_buildid() argument
286 struct dso *pos; in __dsos__fprintf_buildid()
302 struct dso *pos; in __dsos__fprintf()