Lines Matching full:row
628 UnwindPlan::Row *cie_initial_row = new UnwindPlan::Row; in FDEToUnwindPlan()
630 UnwindPlan::RowSP row(cie_initial_row); in FDEToUnwindPlan() local
637 UnwindPlan::Row::RegisterLocation reg_location; in FDEToUnwindPlan()
644 offset, *row)) { in FDEToUnwindPlan()
647 case DW_CFA_advance_loc: // (Row Creation Instruction) in FDEToUnwindPlan()
650 // required action is to create a new table row with a location value in FDEToUnwindPlan()
652 // adding (delta * code_align). All other values in the new row are in FDEToUnwindPlan()
653 // initially identical to the current row. in FDEToUnwindPlan()
654 unwind_plan.AppendRow(row); in FDEToUnwindPlan()
655 UnwindPlan::Row *newrow = new UnwindPlan::Row; in FDEToUnwindPlan()
656 *newrow = *row.get(); in FDEToUnwindPlan()
657 row.reset(newrow); in FDEToUnwindPlan()
658 row->SlideOffset(extended_opcode * code_align); in FDEToUnwindPlan()
676 row->SetRegisterInfo(reg_num, reg_location); in FDEToUnwindPlan()
682 case DW_CFA_set_loc: // 0x1 (Row Creation Instruction) in FDEToUnwindPlan()
685 // The required action is to create a new table row using the in FDEToUnwindPlan()
686 // specified address as the location. All other values in the new row in FDEToUnwindPlan()
687 // are initially identical to the current row. The new location value in FDEToUnwindPlan()
689 unwind_plan.AppendRow(row); in FDEToUnwindPlan()
690 UnwindPlan::Row *newrow = new UnwindPlan::Row; in FDEToUnwindPlan()
691 *newrow = *row.get(); in FDEToUnwindPlan()
692 row.reset(newrow); in FDEToUnwindPlan()
693 row->SetOffset(m_cfi_data.GetAddress(&offset) - in FDEToUnwindPlan()
698 case DW_CFA_advance_loc1: // 0x2 (Row Creation Instruction) in FDEToUnwindPlan()
703 unwind_plan.AppendRow(row); in FDEToUnwindPlan()
704 UnwindPlan::Row *newrow = new UnwindPlan::Row; in FDEToUnwindPlan()
705 *newrow = *row.get(); in FDEToUnwindPlan()
706 row.reset(newrow); in FDEToUnwindPlan()
707 row->SlideOffset(m_cfi_data.GetU8(&offset) * code_align); in FDEToUnwindPlan()
711 case DW_CFA_advance_loc2: // 0x3 (Row Creation Instruction) in FDEToUnwindPlan()
716 unwind_plan.AppendRow(row); in FDEToUnwindPlan()
717 UnwindPlan::Row *newrow = new UnwindPlan::Row; in FDEToUnwindPlan()
718 *newrow = *row.get(); in FDEToUnwindPlan()
719 row.reset(newrow); in FDEToUnwindPlan()
720 row->SlideOffset(m_cfi_data.GetU16(&offset) * code_align); in FDEToUnwindPlan()
724 case DW_CFA_advance_loc4: // 0x4 (Row Creation Instruction) in FDEToUnwindPlan()
729 unwind_plan.AppendRow(row); in FDEToUnwindPlan()
730 UnwindPlan::Row *newrow = new UnwindPlan::Row; in FDEToUnwindPlan()
731 *newrow = *row.get(); in FDEToUnwindPlan()
732 row.reset(newrow); in FDEToUnwindPlan()
733 row->SlideOffset(m_cfi_data.GetU32(&offset) * code_align); in FDEToUnwindPlan()
746 row->SetRegisterInfo(reg_num, reg_location); in FDEToUnwindPlan()
754 // every register on the current row on the stack. Encountering the in FDEToUnwindPlan()
756 // the stack and place them in the current row. (This operation is in FDEToUnwindPlan()
759 stack.push_back(row); in FDEToUnwindPlan()
760 UnwindPlan::Row *newrow = new UnwindPlan::Row; in FDEToUnwindPlan()
761 *newrow = *row.get(); in FDEToUnwindPlan()
762 row.reset(newrow); in FDEToUnwindPlan()
770 // every register on the current row on the stack. Encountering the in FDEToUnwindPlan()
772 // the stack and place them in the current row. (This operation is in FDEToUnwindPlan()
784 lldb::addr_t offset = row->GetOffset(); in FDEToUnwindPlan()
785 row = stack.back(); in FDEToUnwindPlan()
787 row->SetOffset(offset); in FDEToUnwindPlan()
811 unwind_plan.AppendRow(row); in FDEToUnwindPlan()
820 UnwindPlan::Row &row) { in HandleCommonDwarfOpcode() argument
821 UnwindPlan::Row::RegisterLocation reg_location; in HandleCommonDwarfOpcode()
835 row.SetRegisterInfo(reg_num, reg_location); in HandleCommonDwarfOpcode()
851 UnwindPlan::Row::RegisterLocation reg_location; in HandleCommonDwarfOpcode()
853 row.SetRegisterInfo(reg_num, reg_location); in HandleCommonDwarfOpcode()
863 UnwindPlan::Row::RegisterLocation reg_location; in HandleCommonDwarfOpcode()
865 row.SetRegisterInfo(reg_num, reg_location); in HandleCommonDwarfOpcode()
875 UnwindPlan::Row::RegisterLocation reg_location; in HandleCommonDwarfOpcode()
877 row.SetRegisterInfo(reg_num, reg_location); in HandleCommonDwarfOpcode()
888 UnwindPlan::Row::RegisterLocation reg_location; in HandleCommonDwarfOpcode()
890 row.SetRegisterInfo(reg_num, reg_location); in HandleCommonDwarfOpcode()
901 row.GetCFAValue().SetIsRegisterPlusOffset(reg_num, op_offset); in HandleCommonDwarfOpcode()
911 row.GetCFAValue().SetIsRegisterPlusOffset(reg_num, in HandleCommonDwarfOpcode()
912 row.GetCFAValue().GetOffset()); in HandleCommonDwarfOpcode()
922 row.GetCFAValue().SetIsRegisterPlusOffset( in HandleCommonDwarfOpcode()
923 row.GetCFAValue().GetRegisterNumber(), op_offset); in HandleCommonDwarfOpcode()
932 row.GetCFAValue().SetIsDWARFExpression(block_data, block_len); in HandleCommonDwarfOpcode()
949 UnwindPlan::Row::RegisterLocation reg_location; in HandleCommonDwarfOpcode()
951 row.SetRegisterInfo(reg_num, reg_location); in HandleCommonDwarfOpcode()
963 UnwindPlan::Row::RegisterLocation reg_location; in HandleCommonDwarfOpcode()
965 row.SetRegisterInfo(reg_num, reg_location); in HandleCommonDwarfOpcode()
977 row.GetCFAValue().SetIsRegisterPlusOffset(reg_num, op_offset); in HandleCommonDwarfOpcode()
987 uint32_t cfa_regnum = row.GetCFAValue().GetRegisterNumber(); in HandleCommonDwarfOpcode()
988 row.GetCFAValue().SetIsRegisterPlusOffset(cfa_regnum, op_offset); in HandleCommonDwarfOpcode()
1006 row.SetRegisterInfo(reg_num, reg_location); in HandleCommonDwarfOpcode()