Add SmallArray# type
|Reported by:||tibbe||Owned by:||tibbe|
|Type of failure:||None/Unknown||Test Case:|
|Related Tickets:||Differential Rev(s):|
Add a SmallArray# (and SmallMutableArray#) type that doesn't have a card table. This would
- save some memory (two words per array),
- make updates cheaper (no writing to the card table), and
- make GC faster (no traversing the card table).
The use case is the unordered-containers package, which uses small arrays to implement a hash array mapped trie.
A starting point would be 0417404f5d1230c9d291ea9f73e2831121c8ec99/ghc, which added the card table to the current array type.