Home | History | Annotate | Download | only in libdw

Lines Matching defs:fs

93 require_cfa_offset (Dwarf_Frame *fs)
95 if (unlikely (fs->cfa_rule != cfa_offset))
96 fs->cfa_rule = cfa_invalid;
119 Dwarf_Frame *fs = *state;
122 if (unlikely (! enough_registers (regno, &fs, &result))) \
124 fs->regs[regno].rule = reg_##r_rule; \
125 fs->regs[regno].value = (r_value); \
175 fs->cfa_rule = cfa_offset;
176 fs->cfa_val_reg = operand;
177 fs->cfa_val_offset = offset;
179 fs->cfa_data.offset.atom = DW_OP_bregx;
180 fs->cfa_data.offset.offset = 0;
185 require_cfa_offset (fs);
186 fs->cfa_val_reg = regno;
199 require_cfa_offset (fs);
200 fs->cfa_val_offset = offset;
212 fs->cfa_rule = cfa_expr;
213 fs->cfa_data.expr.data = (unsigned char *) program;
214 fs->cfa_data.expr.length = operand;
316 if (unlikely (! enough_registers (operand, &fs, &result)))
319 fs->regs[operand] = cie->initial_state->regs[operand];
321 fs->regs[operand].rule = reg_unspecified;
327 Dwarf_Frame *copy = duplicate_frame_state (fs, fs);
333 fs = copy;
340 Dwarf_Frame *prev = fs->prev;
342 free (fs);
343 fs = prev;
353 if (unlikely (! enough_registers (31, &fs, &result)))
358 fs->regs[regno].rule = reg_register;
359 fs->regs[regno].value = regno + 16;
366 fs->regs[regno].rule = reg_offset;
367 fs->regs[regno].value = (regno - 16) * address_size;
385 fs->start = loc;
390 fs->end = loc;
402 This address (FDE->end) is already in FS->end as set by the caller. */
410 while (fs->prev != NULL)
412 Dwarf_Frame *prev = fs->prev;
413 fs->prev = prev->prev;
418 *state = fs;
420 free (fs);
501 Dwarf_Frame *fs = duplicate_frame_state (fde->cie->initial_state, NULL);
502 if (unlikely (fs == NULL))
505 fs->fde = fde;
506 fs->start = fde->start;
507 fs->end = fde->end;
509 result = execute_cfi (cache, fde->cie, &fs,
513 *frame = fs;