diff options
Diffstat (limited to 'lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp')
| -rw-r--r-- | lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp b/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp deleted file mode 100644 index 293ebac0248b..000000000000 --- a/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp +++ /dev/null @@ -1,142 +0,0 @@ -//===-- DynamicRegisterInfo.cpp ----------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "DynamicRegisterInfo.h" - -// C Includes -// C++ Includes -// Other libraries and framework includes -// Project includes - -using namespace lldb; -using namespace lldb_private; - -DynamicRegisterInfo::DynamicRegisterInfo () : - m_regs (), - m_sets (), - m_set_reg_nums (), - m_reg_names (), - m_reg_alt_names (), - m_set_names (), - m_reg_data_byte_size (0) -{ -} - -DynamicRegisterInfo::~DynamicRegisterInfo () -{ -} - -void -DynamicRegisterInfo::AddRegister (RegisterInfo ®_info, - ConstString ®_name, - ConstString ®_alt_name, - ConstString &set_name) -{ - const uint32_t reg_num = m_regs.size(); - m_reg_names.push_back (reg_name); - m_reg_alt_names.push_back (reg_alt_name); - reg_info.name = reg_name.AsCString(); - assert (reg_info.name); - reg_info.alt_name = reg_alt_name.AsCString(NULL); - m_regs.push_back (reg_info); - uint32_t set = GetRegisterSetIndexByName (set_name, true); - assert (set < m_sets.size()); - assert (set < m_set_reg_nums.size()); - assert (set < m_set_names.size()); - m_set_reg_nums[set].push_back(reg_num); - size_t end_reg_offset = reg_info.byte_offset + reg_info.byte_size; - if (m_reg_data_byte_size < end_reg_offset) - m_reg_data_byte_size = end_reg_offset; -} - -void -DynamicRegisterInfo::Finalize () -{ - for (uint32_t set = 0; set < m_sets.size(); ++set) - { - assert (m_sets.size() == m_set_reg_nums.size()); - m_sets[set].num_registers = m_set_reg_nums[set].size(); - m_sets[set].registers = &m_set_reg_nums[set][0]; - } -} - -size_t -DynamicRegisterInfo::GetNumRegisters() const -{ - return m_regs.size(); -} - -size_t -DynamicRegisterInfo::GetNumRegisterSets() const -{ - return m_sets.size(); -} - -size_t -DynamicRegisterInfo::GetRegisterDataByteSize() const -{ - return m_reg_data_byte_size; -} - -const RegisterInfo * -DynamicRegisterInfo::GetRegisterInfoAtIndex (uint32_t i) const -{ - if (i < m_regs.size()) - return &m_regs[i]; - return NULL; -} - -const RegisterSet * -DynamicRegisterInfo::GetRegisterSet (uint32_t i) const -{ - if (i < m_sets.size()) - return &m_sets[i]; - return NULL; -} - -uint32_t -DynamicRegisterInfo::GetRegisterSetIndexByName (ConstString &set_name, bool can_create) -{ - name_collection::iterator pos, end = m_set_names.end(); - for (pos = m_set_names.begin(); pos != end; ++pos) - { - if (*pos == set_name) - return std::distance (m_set_names.begin(), pos); - } - - m_set_names.push_back(set_name); - m_set_reg_nums.resize(m_set_reg_nums.size()+1); - RegisterSet new_set = { set_name.AsCString(), NULL, 0, NULL }; - m_sets.push_back (new_set); - return m_sets.size() - 1; -} - -uint32_t -DynamicRegisterInfo::ConvertRegisterKindToRegisterNumber (uint32_t kind, uint32_t num) const -{ - reg_collection::const_iterator pos, end = m_regs.end(); - for (pos = m_regs.begin(); pos != end; ++pos) - { - if (pos->kinds[kind] == num) - return std::distance (m_regs.begin(), pos); - } - - return LLDB_INVALID_REGNUM; -} - -void -DynamicRegisterInfo::Clear() -{ - m_regs.clear(); - m_sets.clear(); - m_set_reg_nums.clear(); - m_reg_names.clear(); - m_reg_alt_names.clear(); - m_set_names.clear(); -} |
