Skip to content

Commit 9214bba

Browse files
[lldb][NFC] Simplify logic in ABIMacOSX_arm64::FixDataAddress
1 parent 31e43e2 commit 9214bba

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -758,41 +758,45 @@ ValueObjectSP ABIMacOSX_arm64::GetReturnValueObjectImpl(
758758
}
759759

760760
addr_t ABIMacOSX_arm64::FixCodeAddress(addr_t pc) {
761-
addr_t pac_sign_extension = 0x0080000000000000ULL;
761+
ProcessSP process_sp = GetProcessSP();
762+
if (!process_sp)
763+
return pc;
764+
765+
addr_t mask = process_sp->GetCodeAddressMask();
762766
addr_t tbi_mask = 0xff80000000000000ULL;
763-
addr_t mask = 0;
764-
765-
if (ProcessSP process_sp = GetProcessSP()) {
766-
mask = process_sp->GetCodeAddressMask();
767-
if (pc & pac_sign_extension) {
768-
addr_t highmem_mask = process_sp->GetHighmemCodeAddressMask();
769-
if (highmem_mask != LLDB_INVALID_ADDRESS_MASK)
770-
mask = highmem_mask;
771-
}
772-
}
773767
if (mask == LLDB_INVALID_ADDRESS_MASK)
774768
mask = tbi_mask;
775769

776-
return (pc & pac_sign_extension) ? pc | mask : pc & (~mask);
770+
addr_t pac_sign_extension = 0x0080000000000000ULL;
771+
if (pc & pac_sign_extension) {
772+
addr_t highmem_mask = process_sp->GetHighmemCodeAddressMask();
773+
if (highmem_mask != LLDB_INVALID_ADDRESS_MASK)
774+
return pc | highmem_mask;
775+
return pc | mask;
776+
}
777+
778+
return pc & (~mask);
777779
}
778780

779781
addr_t ABIMacOSX_arm64::FixDataAddress(addr_t pc) {
780-
addr_t pac_sign_extension = 0x0080000000000000ULL;
782+
ProcessSP process_sp = GetProcessSP();
783+
if (!process_sp)
784+
return pc;
785+
786+
addr_t mask = process_sp->GetDataAddressMask();
781787
addr_t tbi_mask = 0xff80000000000000ULL;
782-
addr_t mask = 0;
783-
784-
if (ProcessSP process_sp = GetProcessSP()) {
785-
mask = process_sp->GetDataAddressMask();
786-
if (pc & pac_sign_extension) {
787-
addr_t highmem_mask = process_sp->GetHighmemDataAddressMask();
788-
if (highmem_mask != LLDB_INVALID_ADDRESS_MASK)
789-
mask = highmem_mask;
790-
}
791-
}
792788
if (mask == LLDB_INVALID_ADDRESS_MASK)
793789
mask = tbi_mask;
794790

795-
return (pc & pac_sign_extension) ? pc | mask : pc & (~mask);
791+
addr_t pac_sign_extension = 0x0080000000000000ULL;
792+
if (pc & pac_sign_extension) {
793+
addr_t highmem_mask = process_sp->GetHighmemDataAddressMask();
794+
if (highmem_mask != LLDB_INVALID_ADDRESS_MASK)
795+
return pc | highmem_mask;
796+
return pc | mask;
797+
}
798+
799+
return pc & (~mask);
796800
}
797801

798802
void ABIMacOSX_arm64::Initialize() {

0 commit comments

Comments
 (0)