На некоторых платформах стек, используемый для адресов возврата, полностью отделен от стека, используемого для передачи параметров. Действительно, на некоторых платформах компиляторы C не допускают рекурсию и не используют какой-либо стек для передачи параметров. Честно говоря, мне нравятся такие конструкции, поскольку они сводят к минимуму вероятность проблем со стеком, вызывающих ошибочное поведение программы.