MemoryPoolAddressSanitizer.cpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include "il2cpp-config.h"
  2. #if IL2CPP_SANITIZE_ADDRESS
  3. #include "utils/MemoryPoolAddressSanitizer.h"
  4. namespace il2cpp
  5. {
  6. namespace utils
  7. {
  8. MemoryPoolAddressSanitizer::MemoryPoolAddressSanitizer()
  9. {
  10. m_TotalSize = 0;
  11. }
  12. MemoryPoolAddressSanitizer::MemoryPoolAddressSanitizer(size_t initialSize)
  13. {
  14. m_TotalSize = initialSize;
  15. }
  16. MemoryPoolAddressSanitizer::~MemoryPoolAddressSanitizer()
  17. {
  18. for (auto allocation : m_Allocations)
  19. free(allocation);
  20. m_Allocations.clear();
  21. }
  22. void* MemoryPoolAddressSanitizer::Malloc(size_t size)
  23. {
  24. void* allocation = malloc(size);
  25. m_TotalSize += size;
  26. m_Allocations.push_back(allocation);
  27. return allocation;
  28. }
  29. void* MemoryPoolAddressSanitizer::Calloc(size_t count, size_t size)
  30. {
  31. void* allocation = calloc(count, size);
  32. m_Allocations.push_back(allocation);
  33. return allocation;
  34. }
  35. size_t MemoryPoolAddressSanitizer::TotalSize() {
  36. return m_TotalSize;
  37. }
  38. }
  39. }
  40. #endif