diff --git a/ide/vs2019/mimalloc-override.vcxproj b/ide/vs2019/mimalloc-override.vcxproj
index 1f3b7ee2..33c9ee55 100644
--- a/ide/vs2019/mimalloc-override.vcxproj
+++ b/ide/vs2019/mimalloc-override.vcxproj
@@ -135,7 +135,7 @@
DllEntry
- kernel32.lib;%(AdditionalDependencies)
+ kernel32.lib;..\..\bin\mimalloc-redirect.lib;%(AdditionalDependencies)
@@ -180,7 +180,6 @@
MaxSpeed
true
true
- true
true
../../include
MI_SHARED_LIB;MI_SHARED_LIB_EXPORT;MI_MALLOC_OVERRIDE;_MBCS;%(PreprocessorDefinitions);NDEBUG
@@ -188,14 +187,23 @@
$(IntDir)
false
MultiThreadedDLL
+ false
+ Speed
+ true
+ false
+ AdvancedVectorExtensions
+ Fast
+ /Bv /Ob3 /d2FH4 /Gw /fp:fast /GL %(AdditionalOptions)
true
true
DllEntry
- kernel32.lib;%(AdditionalDependencies)
+ kernel32.lib;..\..\bin\mimalloc-redirect.lib;%(AdditionalDependencies)
+ UseLinkTimeCodeGeneration
+ /LTCG /USEPROFILE:AGGRESSIVE /d2:-threads16 /d2:-notypeopt %(AdditionalOptions)
diff --git a/src/memory.c b/src/memory.c
index 338b1ba3..52efbace 100644
--- a/src/memory.c
+++ b/src/memory.c
@@ -389,7 +389,7 @@ void* _mi_mem_alloc_aligned(size_t size, size_t alignment, bool* commit, bool* l
// find a range of free blocks
void* p = NULL;
size_t count = mi_atomic_read(®ions_count);
- size_t idx = 0; // tld->region_idx; // start at 0 to reuse low addresses? Or, use tld->region_idx to reduce contention?
+ size_t idx = tld->region_idx; // start at 0 to reuse low addresses? Or, use tld->region_idx to reduce contention?
for (size_t visited = 0; visited < count; visited++, idx++) {
if (idx >= count) idx = 0; // wrap around
if (!mi_region_try_alloc_blocks(idx, blocks, size, commit, large, is_zero, &p, id, tld)) return NULL; // error