memory_util.h 700 B

123456789101112131415161718192021
  1. // Copyright 2013 Dolphin Emulator Project / 2014 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #ifndef _WIN32
  6. #include <sys/mman.h>
  7. #endif
  8. #include <string>
  9. void* AllocateExecutableMemory(size_t size, bool low = true);
  10. void* AllocateMemoryPages(size_t size);
  11. void FreeMemoryPages(void* ptr, size_t size);
  12. void* AllocateAlignedMemory(size_t size,size_t alignment);
  13. void FreeAlignedMemory(void* ptr);
  14. void WriteProtectMemory(void* ptr, size_t size, bool executable = false);
  15. void UnWriteProtectMemory(void* ptr, size_t size, bool allowExecute = false);
  16. std::string MemUsage();
  17. inline int GetPageSize() { return 4096; }