Lines Matching refs:vr_die

54  * If fentry == true and vr_die is a parameter, do heuristic search
57 static int convert_variable_location(Dwarf_Die *vr_die, Dwarf_Addr addr,
72 if (dwarf_attr(vr_die, DW_AT_external, &attr) != NULL)
76 if (dwarf_attr(vr_die, DW_AT_const_value, &attr) &&
90 if (dwarf_attr(vr_die, DW_AT_location, &attr) == NULL)
98 (dwarf_tag(vr_die) == DW_TAG_variable)) {
101 dwarf_tag(vr_die) != DW_TAG_formal_parameter) {
129 ret = strlen(dwarf_diename(vr_die));
133 snprintf(tvar->value, ret + 2, "@%s", dwarf_diename(vr_die));
189 static int convert_variable_type(Dwarf_Die *vr_die,
211 bsize = dwarf_bitsize(vr_die);
214 boffs = dwarf_bitoffset(vr_die);
215 total = dwarf_bytesize(vr_die);
223 if (die_get_real_type(vr_die, &type) == NULL) {
225 dwarf_diename(vr_die));
230 dwarf_diename(vr_die), dwarf_diename(&type));
239 dwarf_diename(vr_die), dwarf_diename(&type));
262 dwarf_diename(vr_die));
308 static int convert_variable_fields(Dwarf_Die *vr_die, const char *varname,
319 if (die_get_real_type(vr_die, &type) == NULL) {
390 if (field->ref && dwarf_diename(vr_die)) {
445 static int convert_variable(Dwarf_Die *vr_die, struct probe_finder *pf)
451 dwarf_diename(vr_die));
453 ret = convert_variable_location(vr_die, pf->addr, pf->fb_ops,
463 ret = convert_variable_fields(vr_die, pf->pvar->var,
466 vr_die = &die_mem;
469 ret = convert_variable_type(vr_die, pf->tvar, pf->pvar->type,
478 Dwarf_Die vr_die;
502 if (!die_find_variable_at(sc_die, pf->pvar->var, pf->addr, &vr_die)) {
505 0, &vr_die)) {
514 ret = convert_variable(&vr_die, pf);