The table, and the half of the wiring that needs no type name. A struct is its C layout with no header and no tag word, so nothing at run time can say what is at an address — and adding a tag would break the FFI. The registry sidesteps it: the compiler knows the type at the moment memory is asked for, so the insert is emitted, and the dead-marking is not, because an address needs no type. Entries are blocks rather than values and lookup is containment, which is not an optimisation: every heap pointer a program can hold is interior. (at v i) is v->ptr + i*size and (resolve p h) is an item in the middle of a pool. Exact hits would answer nothing anyone can ask. Dead entries stay until the allocator hands the address out again, which is when the old answer stops being true. An arena's free-all marks its whole range dead — the release memcheck is never told about. That does not make memcheck report it; it makes the inspector able to.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%