diff options
Diffstat (limited to 'lldb/source/Target/RegisterContext.cpp')
-rw-r--r-- | lldb/source/Target/RegisterContext.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/lldb/source/Target/RegisterContext.cpp b/lldb/source/Target/RegisterContext.cpp index 169ab743f58..a7856c6332c 100644 --- a/lldb/source/Target/RegisterContext.cpp +++ b/lldb/source/Target/RegisterContext.cpp @@ -150,14 +150,18 @@ uint64_t RegisterContext::ReadRegisterAsUnsigned (uint32_t reg, uint64_t fail_value) { if (reg != LLDB_INVALID_REGNUM) + return ReadRegisterAsUnsigned (GetRegisterInfoAtIndex (reg), fail_value); + return fail_value; +} + +uint64_t +RegisterContext::ReadRegisterAsUnsigned (const RegisterInfo *reg_info, uint64_t fail_value) +{ + if (reg_info) { - const RegisterInfo *reg_info = GetRegisterInfoAtIndex (reg); - if (reg_info) - { - RegisterValue value; - if (ReadRegister (reg_info, value)) - return value.GetAsUInt64(); - } + RegisterValue value; + if (ReadRegister (reg_info, value)) + return value.GetAsUInt64(); } return fail_value; } @@ -167,7 +171,12 @@ RegisterContext::WriteRegisterFromUnsigned (uint32_t reg, uint64_t uval) { if (reg == LLDB_INVALID_REGNUM) return false; - const RegisterInfo *reg_info = GetRegisterInfoAtIndex (reg); + return WriteRegisterFromUnsigned (GetRegisterInfoAtIndex (reg), uval); +} + +bool +RegisterContext::WriteRegisterFromUnsigned (const RegisterInfo *reg_info, uint64_t uval) +{ if (reg_info) { RegisterValue value; |