memory_util.h 680 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. #include <cstddef>
  6. #include <string>
  7. void* AllocateExecutableMemory(size_t size, bool low = true);
  8. void* AllocateMemoryPages(size_t size);
  9. void FreeMemoryPages(void* ptr, size_t size);
  10. void* AllocateAlignedMemory(size_t size, size_t alignment);
  11. void FreeAlignedMemory(void* ptr);
  12. void WriteProtectMemory(void* ptr, size_t size, bool executable = false);
  13. void UnWriteProtectMemory(void* ptr, size_t size, bool allowExecute = false);
  14. std::string MemUsage();
  15. inline int GetPageSize() {
  16. return 4096;
  17. }