Virtual memory allocator