Lines Matching full:row
918 UnwindPlan::Row::RegisterLocation initial_regloc;
919 UnwindPlan::RowSP row(new UnwindPlan::Row);
926 row->SetOffset(current_func_text_offset);
927 row->GetCFAValue().SetIsRegisterPlusOffset(m_lldb_sp_regnum, m_wordsize);
931 row->SetRegisterInfo(m_lldb_sp_regnum, initial_regloc);
936 row->SetRegisterInfo(m_lldb_ip_regnum, initial_regloc);
938 unwind_plan.AppendRow(row);
940 // Allocate a new Row, populate it with the existing Row contents.
941 UnwindPlan::Row *newrow = new UnwindPlan::Row;
942 *newrow = *row.get();
943 row.reset(newrow);
956 UnwindPlan::RowSP prologue_completed_row; // copy of prologue row of CFI
969 bool row_updated = false; // The UnwindPlan::Row 'row' has been updated
979 auto &cfa_value = row->GetCFAValue();
980 auto &afa_value = row->GetAFAValue();
1043 // in terms of the stack pointer, we need to add a new row of
1054 UnwindPlan::Row::RegisterLocation regloc;
1059 row->SetRegisterInfo(lldb_regno, regloc);
1072 row->RemoveRegisterInfo(lldb_regno);
1084 // terms of the stack pointer, we need to add a new row of instructions.
1107 row->RemoveRegisterInfo(m_lldb_fp_regnum);
1145 UnwindPlan::Row::RegisterLocation regloc;
1147 // stack_offset for 'movq %r15, -80(%rbp)' will be 80. In the Row, we
1157 row->SetRegisterInfo(lldb_regno, regloc);
1237 UnwindPlan::Row::RegisterLocation sp, pc;
1238 if (row->GetRegisterInfo(m_lldb_sp_regnum, sp) &&
1239 row->GetRegisterInfo(m_lldb_ip_regnum, pc)) {
1249 UnwindPlan::Row *newrow = new UnwindPlan::Row;
1251 row.reset(newrow);
1283 row->SetOffset(current_func_text_offset + insn_len);
1284 unwind_plan.AppendRow(row);
1285 // Allocate a new Row, populate it with the existing Row contents.
1286 newrow = new UnwindPlan::Row;
1287 *newrow = *row.get();
1288 row.reset(newrow);
1293 // If we're not in an epilogue sequence, save the updated Row
1294 UnwindPlan::Row *newrow = new UnwindPlan::Row;
1295 *newrow = *row.get();
1305 // We may change the sp value without adding a new Row necessarily -- keep
1339 // unwind_plan should have at least one row which is ABI-default (CFA
1340 // register is sp), and another row in mid-function.
1362 UnwindPlan::RowSP row(new UnwindPlan::Row(*first_row));
1386 UnwindPlan::RowSP new_row(new UnwindPlan::Row());
1390 row = std::make_shared<UnwindPlan::Row>();
1391 *row = *new_row;
1397 // If we already have one row for this instruction, we can continue.
1404 *row = *original_row;
1414 // Inspect the instruction to check if we need a new row for it.
1415 cfa_reg = row->GetCFAValue().GetRegisterNumber();
1419 row->GetCFAValue().GetRegisterNumber());
1428 row->SetOffset(offset);
1429 row->GetCFAValue().IncOffset(m_wordsize);
1431 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
1440 row->SetOffset(offset);
1441 row->GetCFAValue().IncOffset(m_wordsize);
1443 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
1454 row->SetOffset(offset);
1455 row->GetCFAValue().IncOffset(-m_wordsize);
1457 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
1464 row->SetOffset(offset);
1465 row->GetCFAValue().IncOffset(-m_wordsize);
1467 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
1475 row->SetOffset(offset);
1476 row->GetCFAValue().IncOffset(m_wordsize);
1477 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
1485 row->SetOffset(offset);
1486 row->GetCFAValue().IncOffset(m_wordsize);
1487 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
1496 row->SetOffset(offset);
1497 row->GetCFAValue().IncOffset(-amount);
1499 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
1505 row->SetOffset(offset);
1506 row->GetCFAValue().IncOffset(amount);
1508 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
1516 row->SetOffset(offset);
1517 row->GetCFAValue().IncOffset(-amount);
1519 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));
1538 row->SetOffset(offset);
1539 row->GetCFAValue().SetIsRegisterPlusOffset(
1542 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row));