Skip to content

Commit e857cc5

Browse files
committed
move msanValidateWrite
1 parent 34b0978 commit e857cc5

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

src/core/psxmem.cc

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -935,18 +935,6 @@ uint32_t PCSX::Memory::msanRealloc(uint32_t ptr, uint32_t size) {
935935
return newPtr + c_msanStart;
936936
}
937937

938-
bool PCSX::Memory::msanValidateWrite(uint32_t addr, uint32_t size) {
939-
uint32_t msanAddr = addr - c_msanStart;
940-
if (!(m_msanUsableBitmap[msanAddr / 8] & (1 << msanAddr % 8))) {
941-
return false;
942-
}
943-
for (uint32_t checkAddr = msanAddr; checkAddr < msanAddr + size; checkAddr++) {
944-
m_msanWrittenBitmap[checkAddr / 8] |= 1 << checkAddr % 8;
945-
}
946-
[[likely]];
947-
return true;
948-
}
949-
950938
uint32_t PCSX::Memory::msanSetChainPtr(uint32_t headerAddr, uint32_t nextPtr, uint32_t wordCount) {
951939
if (!inMsanRange(headerAddr)) {
952940
headerAddr &= 0xffffff;

src/core/psxmem.h

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,11 @@ class Memory {
9090
uint32_t msanRealloc(uint32_t ptr, uint32_t size);
9191
uint32_t msanSetChainPtr(uint32_t headerAddr, uint32_t ptrToNext, uint32_t size);
9292
uint32_t msanGetChainPtr(uint32_t addr) const;
93+
9394
inline MsanStatus msanGetStatus(uint32_t addr, uint32_t size) const {
9495
uint32_t msanAddr = addr - c_msanStart;
9596
if (!(m_msanUsableBitmap[msanAddr / 8] & (1 << msanAddr % 8))) {
97+
[[unlikely]];
9698
return MsanStatus::UNUSABLE;
9799
}
98100
for (uint32_t checkAddr = msanAddr; checkAddr < msanAddr + size; checkAddr++) {
@@ -102,7 +104,18 @@ class Memory {
102104
}
103105
return MsanStatus::OK;
104106
}
105-
bool msanValidateWrite(uint32_t addr, uint32_t size);
107+
108+
inline bool msanValidateWrite(uint32_t addr, uint32_t size) {
109+
uint32_t msanAddr = addr - c_msanStart;
110+
if (!(m_msanUsableBitmap[msanAddr / 8] & (1 << msanAddr % 8))) {
111+
[[unlikely]];
112+
return false;
113+
}
114+
for (uint32_t checkAddr = msanAddr; checkAddr < msanAddr + size; checkAddr++) {
115+
m_msanWrittenBitmap[checkAddr / 8] |= 1 << checkAddr % 8;
116+
}
117+
return true;
118+
}
106119

107120
static inline bool inMsanRange(uint32_t addr) {
108121
return addr >= c_msanStart && addr < c_msanEnd;

0 commit comments

Comments
 (0)