Lines Matching full:row
627 UnwindPlan::Row *cie_initial_row = new UnwindPlan::Row;
629 UnwindPlan::RowSP row(cie_initial_row);
636 UnwindPlan::Row::RegisterLocation reg_location;
643 offset, *row)) {
646 case DW_CFA_advance_loc: // (Row Creation Instruction)
649 // required action is to create a new table row with a location value
651 // adding (delta * code_align). All other values in the new row are
652 // initially identical to the current row.
653 unwind_plan.AppendRow(row);
654 UnwindPlan::Row *newrow = new UnwindPlan::Row;
655 *newrow = *row.get();
656 row.reset(newrow);
657 row->SlideOffset(extended_opcode * code_align);
675 row->SetRegisterInfo(reg_num, reg_location);
677 // If the register was not set in the first row, remove the
679 row->RemoveRegisterInfo(reg_num);
686 case DW_CFA_set_loc: // 0x1 (Row Creation Instruction)
689 // The required action is to create a new table row using the
690 // specified address as the location. All other values in the new row
691 // are initially identical to the current row. The new location value
693 unwind_plan.AppendRow(row);
694 UnwindPlan::Row *newrow = new UnwindPlan::Row;
695 *newrow = *row.get();
696 row.reset(newrow);
697 row->SetOffset(m_cfi_data.GetAddress(&offset) -
702 case DW_CFA_advance_loc1: // 0x2 (Row Creation Instruction)
707 unwind_plan.AppendRow(row);
708 UnwindPlan::Row *newrow = new UnwindPlan::Row;
709 *newrow = *row.get();
710 row.reset(newrow);
711 row->SlideOffset(m_cfi_data.GetU8(&offset) * code_align);
715 case DW_CFA_advance_loc2: // 0x3 (Row Creation Instruction)
720 unwind_plan.AppendRow(row);
721 UnwindPlan::Row *newrow = new UnwindPlan::Row;
722 *newrow = *row.get();
723 row.reset(newrow);
724 row->SlideOffset(m_cfi_data.GetU16(&offset) * code_align);
728 case DW_CFA_advance_loc4: // 0x4 (Row Creation Instruction)
733 unwind_plan.AppendRow(row);
734 UnwindPlan::Row *newrow = new UnwindPlan::Row;
735 *newrow = *row.get();
736 row.reset(newrow);
737 row->SlideOffset(m_cfi_data.GetU32(&offset) * code_align);
750 row->SetRegisterInfo(reg_num, reg_location);
758 // every register on the current row on the stack. Encountering the
760 // the stack and place them in the current row. (This operation is
763 stack.push_back(row);
764 UnwindPlan::Row *newrow = new UnwindPlan::Row;
765 *newrow = *row.get();
766 row.reset(newrow);
774 // every register on the current row on the stack. Encountering the
776 // the stack and place them in the current row. (This operation is
788 lldb::addr_t offset = row->GetOffset();
789 row = stack.back();
791 row->SetOffset(offset);
815 unwind_plan.AppendRow(row);
824 UnwindPlan::Row &row) {
825 UnwindPlan::Row::RegisterLocation reg_location;
839 row.SetRegisterInfo(reg_num, reg_location);
855 UnwindPlan::Row::RegisterLocation reg_location;
857 row.SetRegisterInfo(reg_num, reg_location);
867 UnwindPlan::Row::RegisterLocation reg_location;
869 row.SetRegisterInfo(reg_num, reg_location);
879 UnwindPlan::Row::RegisterLocation reg_location;
881 row.SetRegisterInfo(reg_num, reg_location);
892 UnwindPlan::Row::RegisterLocation reg_location;
894 row.SetRegisterInfo(reg_num, reg_location);
905 row.GetCFAValue().SetIsRegisterPlusOffset(reg_num, op_offset);
915 row.GetCFAValue().SetIsRegisterPlusOffset(reg_num,
916 row.GetCFAValue().GetOffset());
926 row.GetCFAValue().SetIsRegisterPlusOffset(
927 row.GetCFAValue().GetRegisterNumber(), op_offset);
936 row.GetCFAValue().SetIsDWARFExpression(block_data, block_len);
953 UnwindPlan::Row::RegisterLocation reg_location;
955 row.SetRegisterInfo(reg_num, reg_location);
967 UnwindPlan::Row::RegisterLocation reg_location;
969 row.SetRegisterInfo(reg_num, reg_location);
981 row.GetCFAValue().SetIsRegisterPlusOffset(reg_num, op_offset);
991 uint32_t cfa_regnum = row.GetCFAValue().GetRegisterNumber();
992 row.GetCFAValue().SetIsRegisterPlusOffset(cfa_regnum, op_offset);
1010 row.SetRegisterInfo(reg_num, reg_location);