I don't quite get how exactly they are avoiding memory fragmentation. In current architectures VM is flat and continuous, it is then mapped to physical addresses, which can be fragmented. If they are dropping VM all together, they must be mapping physicall memory directly in process address space (thats probably the reason why there is no shared libraries support in their architecture), but then whats going to happen if heap has to grow?