Ну вот у функции есть стекфрейм, как ты его перевыделишь
Размер стекфрейма не обязательно должен быть известен в компайлтайме, пока функция выполняется она может менять его размер. Когда функция f1 вызвала f2, размер стекфрейма f1 меняться не может потому что он ограничен стекфреймом f2