Lines Matching full:row

927   UnwindPlan::Row::RegisterLocation initial_regloc;  in GetNonCallSiteUnwindPlanFromAssembly()
928 UnwindPlan::RowSP row(new UnwindPlan::Row); in GetNonCallSiteUnwindPlanFromAssembly() local
935 row->SetOffset(current_func_text_offset); in GetNonCallSiteUnwindPlanFromAssembly()
936 row->GetCFAValue().SetIsRegisterPlusOffset(m_lldb_sp_regnum, m_wordsize); in GetNonCallSiteUnwindPlanFromAssembly()
940 row->SetRegisterInfo(m_lldb_sp_regnum, initial_regloc); in GetNonCallSiteUnwindPlanFromAssembly()
945 row->SetRegisterInfo(m_lldb_ip_regnum, initial_regloc); in GetNonCallSiteUnwindPlanFromAssembly()
947 unwind_plan.AppendRow(row); in GetNonCallSiteUnwindPlanFromAssembly()
949 // Allocate a new Row, populate it with the existing Row contents. in GetNonCallSiteUnwindPlanFromAssembly()
950 UnwindPlan::Row *newrow = new UnwindPlan::Row; in GetNonCallSiteUnwindPlanFromAssembly()
951 *newrow = *row.get(); in GetNonCallSiteUnwindPlanFromAssembly()
952 row.reset(newrow); in GetNonCallSiteUnwindPlanFromAssembly()
965 UnwindPlan::RowSP prologue_completed_row; // copy of prologue row of CFI in GetNonCallSiteUnwindPlanFromAssembly()
978 bool row_updated = false; // The UnwindPlan::Row 'row' has been updated in GetNonCallSiteUnwindPlanFromAssembly()
988 auto &cfa_value = row->GetCFAValue(); in GetNonCallSiteUnwindPlanFromAssembly()
989 auto &afa_value = row->GetAFAValue(); in GetNonCallSiteUnwindPlanFromAssembly()
1052 // in terms of the stack pointer, we need to add a new row of in GetNonCallSiteUnwindPlanFromAssembly()
1063 UnwindPlan::Row::RegisterLocation regloc; in GetNonCallSiteUnwindPlanFromAssembly()
1068 row->SetRegisterInfo(lldb_regno, regloc); in GetNonCallSiteUnwindPlanFromAssembly()
1081 row->RemoveRegisterInfo(lldb_regno); in GetNonCallSiteUnwindPlanFromAssembly()
1093 // terms of the stack pointer, we need to add a new row of instructions. in GetNonCallSiteUnwindPlanFromAssembly()
1116 row->RemoveRegisterInfo(m_lldb_fp_regnum); in GetNonCallSiteUnwindPlanFromAssembly()
1154 UnwindPlan::Row::RegisterLocation regloc; in GetNonCallSiteUnwindPlanFromAssembly()
1156 // stack_offset for 'movq %r15, -80(%rbp)' will be 80. In the Row, we in GetNonCallSiteUnwindPlanFromAssembly()
1166 row->SetRegisterInfo(lldb_regno, regloc); in GetNonCallSiteUnwindPlanFromAssembly()
1246 UnwindPlan::Row::RegisterLocation sp, pc; in GetNonCallSiteUnwindPlanFromAssembly()
1247 if (row->GetRegisterInfo(m_lldb_sp_regnum, sp) && in GetNonCallSiteUnwindPlanFromAssembly()
1248 row->GetRegisterInfo(m_lldb_ip_regnum, pc)) { in GetNonCallSiteUnwindPlanFromAssembly()
1258 UnwindPlan::Row *newrow = new UnwindPlan::Row; in GetNonCallSiteUnwindPlanFromAssembly()
1260 row.reset(newrow); in GetNonCallSiteUnwindPlanFromAssembly()
1292 row->SetOffset(current_func_text_offset + insn_len); in GetNonCallSiteUnwindPlanFromAssembly()
1293 unwind_plan.AppendRow(row); in GetNonCallSiteUnwindPlanFromAssembly()
1294 // Allocate a new Row, populate it with the existing Row contents. in GetNonCallSiteUnwindPlanFromAssembly()
1295 newrow = new UnwindPlan::Row; in GetNonCallSiteUnwindPlanFromAssembly()
1296 *newrow = *row.get(); in GetNonCallSiteUnwindPlanFromAssembly()
1297 row.reset(newrow); in GetNonCallSiteUnwindPlanFromAssembly()
1302 // If we're not in an epilogue sequence, save the updated Row in GetNonCallSiteUnwindPlanFromAssembly()
1303 UnwindPlan::Row *newrow = new UnwindPlan::Row; in GetNonCallSiteUnwindPlanFromAssembly()
1304 *newrow = *row.get(); in GetNonCallSiteUnwindPlanFromAssembly()
1314 // We may change the sp value without adding a new Row necessarily -- keep in GetNonCallSiteUnwindPlanFromAssembly()
1348 // unwind_plan should have at least one row which is ABI-default (CFA in AugmentUnwindPlanFromCallSite()
1349 // register is sp), and another row in mid-function. in AugmentUnwindPlanFromCallSite()
1371 UnwindPlan::RowSP row(new UnwindPlan::Row(*first_row)); in AugmentUnwindPlanFromCallSite() local
1395 UnwindPlan::RowSP new_row(new UnwindPlan::Row()); in AugmentUnwindPlanFromCallSite()
1399 row = std::make_shared<UnwindPlan::Row>(); in AugmentUnwindPlanFromCallSite()
1400 *row = *new_row; in AugmentUnwindPlanFromCallSite()
1406 // If we already have one row for this instruction, we can continue. in AugmentUnwindPlanFromCallSite()
1413 *row = *original_row; in AugmentUnwindPlanFromCallSite()
1423 // Inspect the instruction to check if we need a new row for it. in AugmentUnwindPlanFromCallSite()
1424 cfa_reg = row->GetCFAValue().GetRegisterNumber(); in AugmentUnwindPlanFromCallSite()
1428 row->GetCFAValue().GetRegisterNumber()); in AugmentUnwindPlanFromCallSite()
1437 row->SetOffset(offset); in AugmentUnwindPlanFromCallSite()
1438 row->GetCFAValue().IncOffset(m_wordsize); in AugmentUnwindPlanFromCallSite()
1440 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row)); in AugmentUnwindPlanFromCallSite()
1449 row->SetOffset(offset); in AugmentUnwindPlanFromCallSite()
1450 row->GetCFAValue().IncOffset(m_wordsize); in AugmentUnwindPlanFromCallSite()
1452 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row)); in AugmentUnwindPlanFromCallSite()
1463 row->SetOffset(offset); in AugmentUnwindPlanFromCallSite()
1464 row->GetCFAValue().IncOffset(-m_wordsize); in AugmentUnwindPlanFromCallSite()
1466 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row)); in AugmentUnwindPlanFromCallSite()
1473 row->SetOffset(offset); in AugmentUnwindPlanFromCallSite()
1474 row->GetCFAValue().IncOffset(-m_wordsize); in AugmentUnwindPlanFromCallSite()
1476 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row)); in AugmentUnwindPlanFromCallSite()
1484 row->SetOffset(offset); in AugmentUnwindPlanFromCallSite()
1485 row->GetCFAValue().IncOffset(m_wordsize); in AugmentUnwindPlanFromCallSite()
1486 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row)); in AugmentUnwindPlanFromCallSite()
1494 row->SetOffset(offset); in AugmentUnwindPlanFromCallSite()
1495 row->GetCFAValue().IncOffset(m_wordsize); in AugmentUnwindPlanFromCallSite()
1496 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row)); in AugmentUnwindPlanFromCallSite()
1505 row->SetOffset(offset); in AugmentUnwindPlanFromCallSite()
1506 row->GetCFAValue().IncOffset(-amount); in AugmentUnwindPlanFromCallSite()
1508 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row)); in AugmentUnwindPlanFromCallSite()
1514 row->SetOffset(offset); in AugmentUnwindPlanFromCallSite()
1515 row->GetCFAValue().IncOffset(amount); in AugmentUnwindPlanFromCallSite()
1517 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row)); in AugmentUnwindPlanFromCallSite()
1525 row->SetOffset(offset); in AugmentUnwindPlanFromCallSite()
1526 row->GetCFAValue().IncOffset(-amount); in AugmentUnwindPlanFromCallSite()
1528 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row)); in AugmentUnwindPlanFromCallSite()
1547 row->SetOffset(offset); in AugmentUnwindPlanFromCallSite()
1548 row->GetCFAValue().SetIsRegisterPlusOffset( in AugmentUnwindPlanFromCallSite()
1551 UnwindPlan::RowSP new_row(new UnwindPlan::Row(*row)); in AugmentUnwindPlanFromCallSite()