aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Ridgers <[email protected]>2021-09-15 13:00:57 +0200
committerMartin Ridgers <[email protected]>2021-09-16 09:34:29 +0200
commit4384cfdbe11d754d6bfa011432e988dce7dd40ed (patch)
tree9c16cb496f990566ebf75f6a23d408df6c336250
parentMakeWin32ErrorCode() -> MakeErrorCode() (diff)
downloadzen-4384cfdbe11d754d6bfa011432e988dce7dd40ed.tar.xz
zen-4384cfdbe11d754d6bfa011432e988dce7dd40ed.zip
Use Memory::* API for IoBufferCore::Alloc/FreeBuffer on non-Windows
-rw-r--r--zencore/iobuffer.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/zencore/iobuffer.cpp b/zencore/iobuffer.cpp
index 14ba77ea6..222fafa8e 100644
--- a/zencore/iobuffer.cpp
+++ b/zencore/iobuffer.cpp
@@ -21,12 +21,14 @@ namespace zen {
void*
IoBufferCore::AllocateBuffer(size_t InSize, size_t Alignment)
{
+#if ZEN_PLATFORM_WINDOWS
if (((InSize & 0xffFF) == 0) && (Alignment == 0x10000))
{
m_Flags |= kLowLevelAlloc;
return VirtualAlloc(nullptr, InSize, MEM_COMMIT, PAGE_READWRITE);
}
else
+#endif // ZEN_PLATFORM_WINDOWS
{
return Memory::Alloc(InSize, Alignment);
}
@@ -35,11 +37,13 @@ IoBufferCore::AllocateBuffer(size_t InSize, size_t Alignment)
void
IoBufferCore::FreeBuffer()
{
+#if ZEN_PLATFORM_WINDOWS
if (m_Flags & kLowLevelAlloc)
{
VirtualFree(const_cast<void*>(m_DataPtr), 0, MEM_DECOMMIT);
}
else
+#endif // ZEN_PLATFORM_WINDOWS
{
return Memory::Free(const_cast<void*>(m_DataPtr));
}