use mmap/VirtualAlloc based array

- needed for reentrant safe allocation
  (suspended threads might hold malloc lock)