Let memory sizes of the various IMEMO object types be reflected correctly
References Github PR https://github.com/ruby/ruby/pull/2140
In current trunk only the
imemo_tmpbuf type's auxiliary malloc heap buffer is factored into
obj_memsize_of. The following IMEMO types also allocate on the malloc heap:
imemo_env(similar pattern as
imemo_tmpbuf, an array of
imemo_ment(single struct allocated)
iseq_memsizeAPI a little)
imemo_ast(more difficult to get right, need to walk buffer elements too)
imemo_memsize function introduced attempts to be the entry point for object size calculation of the IMEMO types.
I think these are important to reflect actual size for heap dumps etc. too. Thoughts?