From 2d8bf1b11b04167821ec7ff1460c63f5aff30bca Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sun, 25 Aug 2024 09:29:56 -0400 Subject: [PATCH] Made debug addrs non-randomized and reproducible --- BeefRT/gperftools/src/windows/port.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/BeefRT/gperftools/src/windows/port.cc b/BeefRT/gperftools/src/windows/port.cc index e821ac3f..1d85c128 100644 --- a/BeefRT/gperftools/src/windows/port.cc +++ b/BeefRT/gperftools/src/windows/port.cc @@ -248,7 +248,7 @@ SysAllocator* sys_alloc = NULL; size_t TCMalloc_SystemTaken = 0; -static int virtAllocIdx = 0; +static intptr_t sVirtualAllocAddr = 0xBF010000000; void TCMalloc_RecordAlloc(void* ptr, int size); @@ -273,7 +273,10 @@ void* TCMalloc_SystemAlloc(size_t size, size_t *actual_size, extra = alignment - pagesize; } - void* result = VirtualAlloc(0, size + extra, MEM_COMMIT|MEM_RESERVE, PAGE_READWRITE); + void* result = VirtualAlloc((void*)sVirtualAllocAddr, size + extra, MEM_COMMIT|MEM_RESERVE, PAGE_READWRITE); + sVirtualAllocAddr += size + extra; + if (result == NULL) + result = VirtualAlloc(0, size + extra, MEM_COMMIT|MEM_RESERVE, PAGE_READWRITE); // TODO:Remove this //void* result = VirtualAlloc((void*)(0x500000000 + 0x1000000*virtAllocIdx), size + extra, MEM_COMMIT|MEM_RESERVE, PAGE_READWRITE); //virtAllocIdx++;