@@ -428,34 +428,17 @@ class UnwindPlan {
428428 bool m_unspecified_registers_are_undefined = false ;
429429 }; // class Row
430430
431- typedef std::shared_ptr<Row> RowSP;
432-
433431 UnwindPlan (lldb::RegisterKind reg_kind)
434432 : m_register_kind(reg_kind), m_return_addr_register(LLDB_INVALID_REGNUM),
435433 m_plan_is_sourced_from_compiler (eLazyBoolCalculate),
436434 m_plan_is_valid_at_all_instruction_locations(eLazyBoolCalculate),
437435 m_plan_is_for_signal_trap(eLazyBoolCalculate) {}
438436
439437 // Performs a deep copy of the plan, including all the rows (expensive).
440- UnwindPlan (const UnwindPlan &rhs)
441- : m_plan_valid_ranges(rhs.m_plan_valid_ranges),
442- m_register_kind(rhs.m_register_kind),
443- m_return_addr_register(rhs.m_return_addr_register),
444- m_source_name(rhs.m_source_name),
445- m_plan_is_sourced_from_compiler(rhs.m_plan_is_sourced_from_compiler),
446- m_plan_is_valid_at_all_instruction_locations(
447- rhs.m_plan_is_valid_at_all_instruction_locations),
448- m_plan_is_for_signal_trap(rhs.m_plan_is_for_signal_trap),
449- m_lsda_address(rhs.m_lsda_address),
450- m_personality_func_addr(rhs.m_personality_func_addr) {
451- m_row_list.reserve (rhs.m_row_list .size ());
452- for (const RowSP &row_sp : rhs.m_row_list )
453- m_row_list.emplace_back (new Row (*row_sp));
454- }
438+ UnwindPlan (const UnwindPlan &rhs) = default;
439+ UnwindPlan &operator =(const UnwindPlan &rhs) = default ;
440+
455441 UnwindPlan (UnwindPlan &&rhs) = default;
456- UnwindPlan &operator =(const UnwindPlan &rhs) {
457- return *this = UnwindPlan (rhs); // NB: moving from a temporary (deep) copy
458- }
459442 UnwindPlan &operator =(UnwindPlan &&) = default ;
460443
461444 ~UnwindPlan () = default ;
@@ -487,7 +470,7 @@ class UnwindPlan {
487470 uint32_t GetInitialCFARegister () const {
488471 if (m_row_list.empty ())
489472 return LLDB_INVALID_REGNUM;
490- return m_row_list.front ()-> GetCFAValue ().GetRegisterNumber ();
473+ return m_row_list.front (). GetCFAValue ().GetRegisterNumber ();
491474 }
492475
493476 // This UnwindPlan may not be valid at every address of the function span.
@@ -553,24 +536,12 @@ class UnwindPlan {
553536 m_plan_is_sourced_from_compiler = eLazyBoolCalculate;
554537 m_plan_is_valid_at_all_instruction_locations = eLazyBoolCalculate;
555538 m_plan_is_for_signal_trap = eLazyBoolCalculate;
556- m_lsda_address.Clear ();
557- m_personality_func_addr.Clear ();
558539 }
559540
560541 const RegisterInfo *GetRegisterInfo (Thread *thread, uint32_t reg_num) const ;
561542
562- Address GetLSDAAddress () const { return m_lsda_address; }
563-
564- void SetLSDAAddress (Address lsda_addr) { m_lsda_address = lsda_addr; }
565-
566- Address GetPersonalityFunctionPtr () const { return m_personality_func_addr; }
567-
568- void SetPersonalityFunctionPtr (Address presonality_func_ptr) {
569- m_personality_func_addr = presonality_func_ptr;
570- }
571-
572543private:
573- std::vector<RowSP > m_row_list;
544+ std::vector<Row > m_row_list;
574545 std::vector<AddressRange> m_plan_valid_ranges;
575546 lldb::RegisterKind m_register_kind; // The RegisterKind these register numbers
576547 // are in terms of - will need to be
@@ -583,13 +554,6 @@ class UnwindPlan {
583554 lldb_private::LazyBool m_plan_is_sourced_from_compiler;
584555 lldb_private::LazyBool m_plan_is_valid_at_all_instruction_locations;
585556 lldb_private::LazyBool m_plan_is_for_signal_trap;
586-
587- Address m_lsda_address; // Where the language specific data area exists in the
588- // module - used
589- // in exception handling.
590- Address m_personality_func_addr; // The address of a pointer to the
591- // personality function - used in
592- // exception handling.
593557}; // class UnwindPlan
594558
595559} // namespace lldb_private
0 commit comments