Inline small cold functions into hot ones
I noticed some missed opportunities for inlining were because the
callee was not marked as hot, but the caller was. There's a check to
prevent inlining in such case, which kind of makes sense -- the call
may be in a cold path. However, in some cases the callee is not
marked as hot probably just because it's too small. And if the
function is small enough it's better to inline it anyway -- they code
may get smaller. So I added a callee code-size threshold below which
inlining is always allowed.
I did some experiments with different values for the new threshold,
and also the previously existing HHIRInliningMaxCost, and set them to
what seems best these days.
Reviewed By: @jdelong
Differential Revision:
D1044965