mmtk-core icon indicating copy to clipboard operation
mmtk-core copied to clipboard

Sparse SFT map

Open qinsoon opened this issue 5 years ago • 2 comments

Currently SFTMap is a dense table (Vec), which each entry maps to a chunk. This works fine if our heap range is dense. As we plan to use sparse heap range (e.g. from 0 to max uint_64), the SFTMap is unnecessarily expensive. We need a new sparse SFTMap implementation which only reserve entries for the memory chunks that are in use.

qinsoon avatar Jan 05 '21 00:01 qinsoon

Rather than make a sparse table, we should probably just use address-based SFT indexing (as per #219) when we're building for 64-bit platforms.

steveblackburn avatar Jan 31 '21 00:01 steveblackburn

Currently for 64-bit, SFTMap uses about 800MB of memory.

caizixian avatar Jul 22 '22 05:07 caizixian

Done in https://github.com/mmtk/mmtk-core/pull/632.

qinsoon avatar May 14 '23 23:05 qinsoon