I've implemented and validated a patch that does this (attached). Pretty straightforward, and it seems to work.
Nofib results are:
Min +0.0% -4.1% +0.0% +0.5% +0.0% Max +0.1% +0.0% +2.3% +274.5% +0.0% Geometric Mean +0.0% -0.1% +0.4% +14.3% -0.0%
So a small but solid reduction in allocations (ignore the runtime results, I was doing something else with the machine at the time so they can't be trusted).