Lines Matching refs:reg
106 struct dwarf2_frame_state_reg *reg; member
151 rs->reg = (struct dwarf2_frame_state_reg *) in dwarf2_frame_state_alloc_regs()
152 xrealloc (rs->reg, num_regs * size); in dwarf2_frame_state_alloc_regs()
155 memset (rs->reg + rs->num_regs, 0, (num_regs - rs->num_regs) * size); in dwarf2_frame_state_alloc_regs()
166 struct dwarf2_frame_state_reg *reg; in dwarf2_frame_state_copy_regs() local
168 reg = (struct dwarf2_frame_state_reg *) xmalloc (size); in dwarf2_frame_state_copy_regs()
169 memcpy (reg, rs->reg, size); in dwarf2_frame_state_copy_regs()
171 return reg; in dwarf2_frame_state_copy_regs()
183 xfree (rs->reg); in dwarf2_frame_state_free_regs()
197 xfree (fs->initial.reg); in dwarf2_frame_state_free()
198 xfree (fs->regs.reg); in dwarf2_frame_state_free()
206 read_reg (void *baton, int reg) in read_reg() argument
213 regnum = DWARF2_REG_TO_REGNUM (reg); in read_reg()
278 ULONGEST utmp, reg; in execute_cfa_program() local
285 reg = insn & 0x3f; in execute_cfa_program()
288 dwarf2_frame_state_alloc_regs (&fs->regs, reg + 1); in execute_cfa_program()
289 fs->regs.reg[reg].how = DWARF2_FRAME_REG_SAVED_OFFSET; in execute_cfa_program()
290 fs->regs.reg[reg].loc.offset = offset; in execute_cfa_program()
294 gdb_assert (fs->initial.reg); in execute_cfa_program()
295 reg = insn & 0x3f; in execute_cfa_program()
296 dwarf2_frame_state_alloc_regs (&fs->regs, reg + 1); in execute_cfa_program()
297 fs->regs.reg[reg] = fs->initial.reg[reg]; in execute_cfa_program()
325 insn_ptr = read_uleb128 (insn_ptr, insn_end, ®); in execute_cfa_program()
328 dwarf2_frame_state_alloc_regs (&fs->regs, reg + 1); in execute_cfa_program()
329 fs->regs.reg[reg].how = DWARF2_FRAME_REG_SAVED_OFFSET; in execute_cfa_program()
330 fs->regs.reg[reg].loc.offset = offset; in execute_cfa_program()
334 gdb_assert (fs->initial.reg); in execute_cfa_program()
335 insn_ptr = read_uleb128 (insn_ptr, insn_end, ®); in execute_cfa_program()
336 dwarf2_frame_state_alloc_regs (&fs->regs, reg + 1); in execute_cfa_program()
337 fs->regs.reg[reg] = fs->initial.reg[reg]; in execute_cfa_program()
341 insn_ptr = read_uleb128 (insn_ptr, insn_end, ®); in execute_cfa_program()
342 dwarf2_frame_state_alloc_regs (&fs->regs, reg + 1); in execute_cfa_program()
343 fs->regs.reg[reg].how = DWARF2_FRAME_REG_UNDEFINED; in execute_cfa_program()
347 insn_ptr = read_uleb128 (insn_ptr, insn_end, ®); in execute_cfa_program()
348 dwarf2_frame_state_alloc_regs (&fs->regs, reg + 1); in execute_cfa_program()
349 fs->regs.reg[reg].how = DWARF2_FRAME_REG_SAME_VALUE; in execute_cfa_program()
353 insn_ptr = read_uleb128 (insn_ptr, insn_end, ®); in execute_cfa_program()
355 dwarf2_frame_state_alloc_regs (&fs->regs, reg + 1); in execute_cfa_program()
356 fs->regs.reg[reg].how = DWARF2_FRAME_REG_SAVED_REG; in execute_cfa_program()
357 fs->regs.reg[reg].loc.reg = utmp; in execute_cfa_program()
366 fs->regs.reg = dwarf2_frame_state_copy_regs (&fs->regs); in execute_cfa_program()
382 xfree (fs->regs.reg); in execute_cfa_program()
417 insn_ptr = read_uleb128 (insn_ptr, insn_end, ®); in execute_cfa_program()
418 dwarf2_frame_state_alloc_regs (&fs->regs, reg + 1); in execute_cfa_program()
420 fs->regs.reg[reg].loc.exp = insn_ptr; in execute_cfa_program()
421 fs->regs.reg[reg].exp_len = utmp; in execute_cfa_program()
422 fs->regs.reg[reg].how = DWARF2_FRAME_REG_SAVED_EXP; in execute_cfa_program()
427 insn_ptr = read_uleb128 (insn_ptr, insn_end, ®); in execute_cfa_program()
430 dwarf2_frame_state_alloc_regs (&fs->regs, reg + 1); in execute_cfa_program()
431 fs->regs.reg[reg].how = DWARF2_FRAME_REG_SAVED_OFFSET; in execute_cfa_program()
432 fs->regs.reg[reg].loc.offset = offset; in execute_cfa_program()
460 for (reg = 8; reg < 16; reg++) in execute_cfa_program()
462 fs->regs.reg[reg].how = DWARF2_FRAME_REG_SAVED_REG; in execute_cfa_program()
463 fs->regs.reg[reg].loc.reg = reg + 16; in execute_cfa_program()
465 for (reg = 16; reg < 32; reg++) in execute_cfa_program()
467 fs->regs.reg[reg].how = DWARF2_FRAME_REG_SAVED_OFFSET; in execute_cfa_program()
468 fs->regs.reg[reg].loc.offset = (reg - 16) * size; in execute_cfa_program()
510 struct dwarf2_frame_state_reg *reg) in dwarf2_frame_default_init_reg() argument
539 reg->how = DWARF2_FRAME_REG_RA; in dwarf2_frame_default_init_reg()
541 reg->how = DWARF2_FRAME_REG_CFA; in dwarf2_frame_default_init_reg()
573 struct dwarf2_frame_state_reg *reg) in dwarf2_frame_init_reg() argument
577 ops->init_reg (gdbarch, regnum, reg); in dwarf2_frame_init_reg()
618 struct dwarf2_frame_state_reg *reg; member
639 cache->reg = FRAME_OBSTACK_CALLOC (num_regs, struct dwarf2_frame_state_reg); in dwarf2_frame_cache()
678 fs->initial.reg = dwarf2_frame_state_copy_regs (&fs->regs); in dwarf2_frame_cache()
705 dwarf2_frame_init_reg (gdbarch, regnum, &cache->reg[regnum]); in dwarf2_frame_cache()
738 if (fs->regs.reg[column].how == DWARF2_FRAME_REG_UNSPECIFIED) in dwarf2_frame_cache()
740 if (cache->reg[regnum].how == DWARF2_FRAME_REG_UNSPECIFIED) in dwarf2_frame_cache()
747 cache->reg[regnum] = fs->regs.reg[column]; in dwarf2_frame_cache()
758 if (cache->reg[regnum].how == DWARF2_FRAME_REG_RA in dwarf2_frame_cache()
759 || cache->reg[regnum].how == DWARF2_FRAME_REG_RA_OFFSET) in dwarf2_frame_cache()
762 &fs->regs.reg[fs->retaddr_column]; in dwarf2_frame_cache()
775 if (cache->reg[regnum].how == DWARF2_FRAME_REG_RA) in dwarf2_frame_cache()
776 cache->reg[regnum] = *retaddr_reg; in dwarf2_frame_cache()
782 if (cache->reg[regnum].how == DWARF2_FRAME_REG_RA) in dwarf2_frame_cache()
784 cache->reg[regnum].loc.reg = fs->retaddr_column; in dwarf2_frame_cache()
785 cache->reg[regnum].how = DWARF2_FRAME_REG_SAVED_REG; in dwarf2_frame_cache()
789 cache->retaddr_reg.loc.reg = fs->retaddr_column; in dwarf2_frame_cache()
798 && fs->regs.reg[fs->retaddr_column].how == DWARF2_FRAME_REG_UNDEFINED) in dwarf2_frame_cache()
830 switch (cache->reg[regnum].how) in dwarf2_frame_prev_register()
851 *addrp = cache->cfa + cache->reg[regnum].loc.offset; in dwarf2_frame_prev_register()
864 *realnump = DWARF2_REG_TO_REGNUM (cache->reg[regnum].loc.reg); in dwarf2_frame_prev_register()
872 *addrp = execute_stack_op (cache->reg[regnum].loc.exp, in dwarf2_frame_prev_register()
873 cache->reg[regnum].exp_len, in dwarf2_frame_prev_register()
927 CORE_ADDR pc = cache->reg[regnum].loc.offset; in dwarf2_frame_prev_register()
929 regnum = DWARF2_REG_TO_REGNUM (cache->retaddr_reg.loc.reg); in dwarf2_frame_prev_register()