Home | History | Annotate | Download | only in libunwindstack

Lines Matching refs:cfa

102   // Get the cfa value;
112 AddressType cfa;
114 // Only a few location types are valid for the cfa.
121 // If the stack pointer register is the CFA, and the stack
123 // information, use the current cfa value.
125 cfa = prev_cfa;
127 cfa = (*cur_regs)[loc->values[0]];
129 cfa += loc->values[1];
138 if (!regular_memory->Read(value, &cfa, sizeof(AddressType))) {
143 cfa = value;
154 // to r5 + 4, and r5 is set to CFA + 4, then this won't necessarily work
160 // Already handled the CFA register.
171 if (!regular_memory->Read(cfa + loc->values[0], &(*cur_regs)[reg], sizeof(AddressType))) {
177 (*cur_regs)[reg] = cfa + loc->values[0];
230 cur_regs->set_sp(cfa);
231 // Stop if the cfa and pc are the same.
232 return prev_cfa != cfa || prev_pc != cur_regs->pc();
513 DwarfCfa<AddressType> cfa(&memory_, fde);
518 if (!cfa.GetLocationInfo(pc, fde->cie->cfa_instructions_offset, fde->cie->cfa_instructions_end,
520 last_error_ = cfa.last_error();
525 cfa.set_cie_loc_regs(&cie_loc_regs_[fde->cie_offset]);
526 if (!cfa
527 last_error_ = cfa.last_error();
536 DwarfCfa<AddressType> cfa(&memory_, fde);
540 if (!cfa.Log(indent, pc, load_bias, cie->cfa_instructions_offset, cie->cfa_instructions_end)) {
541 last_error_ = cfa.last_error();
544 if (!cfa.Log(indent, pc, load_bias, fde->cfa_instructions_offset, fde->cfa_instructions_end)) {
545 last_error_ = cfa.last_error();