Implement heap census support for small PINNED objects
This teaches the heap census logic to walk blocks of small PINNED objects. The first commit is merely refactoring and constitutes the majority of the changes. The second commit is where the action is.
Also fixes a few other issues which I noticed in the course of debugging:
-
+RTS -wis incompatible with+RTS -hin the vanilla way (#9666 (closed)) - Slop was not zeroed when shrinking arrays in the vanilla way (#17572 (closed))
Closes #7275 (closed). Closes #9666 (closed). Closes #17572 (closed).
Edited by Ben Gamari