mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-27 11:01:13 +01:00
[MemoryMapper] Adds debug only GetPointer with size check.
This commit is contained in:
1 parent
92d4aaf2e2
commit
0d20ec0f2c
4 files changed
+686
No files matched your search
@@ -57,5 +57,20 @@ namespace FEXCore::Memory {
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
void *MemMapper::GetPointerSizeCheck(uint64_t Offset, uint64_t Size) {
|
||||
for (auto const &Region : MappedRegions) {
|
||||
if (Region.contains(Offset)) {
|
||||
LogMan::Throw::A((Region.Offset + Region.Size) >= (Offset + Size), "Pointer in region but region isn't large enough. Needs 0x%lx more", Offset - Region.Offset + Size - Region.Size);
|
||||
if ((Region.Offset + Region.Size) < (Offset + Size)) {
|
||||
return reinterpret_cast<void*>(reinterpret_cast<uintptr_t>(Region.Ptr) + (Offset - Region.Offset));
|
||||
}
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user