The chunk map org.mmtk.utility.heap.Map is a fixed size array with a 4-byte entry per 4MB "chunk".
Implement discontiguous spaces
Provide a rapid lookup of address to space, used on the GC fast path.
In a 64-bit address space, discontiguous spaces are not really required: statically partitioning (a large subset of) the address space into 32 or so contiguous ranges would be sufficient. Under this plan, discontiguous spaces would be a 32-bit concept only, and the factory methods of VMRequest could select the correct space type based on word size.
Alternatively, and lower impact, the size of a chunk could simply be increased on a 64-bit platform. Chunks are also used in the Immix collectors, so we would need to decouple these two concepts, eg into an ImmixChunk and a HeapChunk.