This is a simple suggestion for a weakly virtualized memory management scheme. Heap allocation for arrays that change in size use a variable width block to choose the position of the memory page that the object is allocated to. Vtables could be nested to reduce risk of ASLR defeat. This is vulnerable to fragmentation for obvious reasons, so it should be limited to objects that are either multiple pages in size or are being modified in size by untrusted code. This would add some factorial complexity over that of ASLR.