Lines Matching defs:vr_die
172 * If fentry == true and vr_die is a parameter, do heuristic search
175 static int convert_variable_location(Dwarf_Die *vr_die, Dwarf_Addr addr,
190 if (dwarf_attr(vr_die, DW_AT_external, &attr) != NULL)
194 if (dwarf_attr(vr_die, DW_AT_const_value, &attr) &&
208 if (dwarf_attr(vr_die, DW_AT_location, &attr) == NULL)
216 (dwarf_tag(vr_die) == DW_TAG_variable)) {
219 dwarf_tag(vr_die) != DW_TAG_formal_parameter) {
247 ret = strlen(dwarf_diename(vr_die));
251 snprintf(tvar->value, ret + 2, "@%s", dwarf_diename(vr_die));
309 static int convert_variable_type(Dwarf_Die *vr_die,
331 bsize = dwarf_bitsize(vr_die);
334 boffs = dwarf_bitoffset(vr_die);
335 total = dwarf_bytesize(vr_die);
343 if (die_get_real_type(vr_die, &type) == NULL) {
345 dwarf_diename(vr_die));
350 dwarf_diename(vr_die), dwarf_diename(&type));
359 dwarf_diename(vr_die), dwarf_diename(&type));
382 dwarf_diename(vr_die));
428 static int convert_variable_fields(Dwarf_Die *vr_die, const char *varname,
439 if (die_get_real_type(vr_die, &type) == NULL) {
510 if (field->ref && dwarf_diename(vr_die)) {
565 static int convert_variable(Dwarf_Die *vr_die, struct probe_finder *pf)
571 dwarf_diename(vr_die));
573 ret = convert_variable_location(vr_die, pf->addr, pf->fb_ops,
583 ret = convert_variable_fields(vr_die, pf->pvar->var,
586 vr_die = &die_mem;
589 ret = convert_variable_type(vr_die, pf->tvar, pf->pvar->type,
598 Dwarf_Die vr_die;
622 if (!die_find_variable_at(sc_die, pf->pvar->var, pf->addr, &vr_die)) {
625 0, &vr_die)) {
634 ret = convert_variable(&vr_die, pf);