Inline flowgraphs based on an heuristic, the default one considers essentially the a weight for the flowgraph based on the number of low-level operations in them (see --inline-threshold ).
Some amount of inlining in order to have RPython builtin type helpers inlined is needed for malloc removal (--translation-backendopt-mallocs) to be effective.
This optimisation is used by default.