Project

General

Profile

Misc #15805

Let memory sizes of the various IMEMO object types be reflected correctly

Added by methodmissing (Lourens Naudé) about 2 months ago.

Status:
Open
Priority:
Normal
Assignee:
-
[ruby-core:92451]

Description

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 VALUEs)
  • imemo_ment (single struct allocated)
  • imemo_iseq (massaged the iseq_memsize API a little)
  • imemo_ast (more difficult to get right, need to walk buffer elements too)

The 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?

Also available in: Atom PDF