Стек вызовов или
call stack — это список всех активных функций, которые вызывались, до текущей точки выполнения. В стеке вызовов отображается каждая вызываемая функция, а также строка, которая в данный момент выполняется в программе. Всякий раз, при вызове новой функции - она добавляется в самый top of call stack :) Как только выполнение текущей функции подходит к финишу, она удаляется из топа в стеке и контроль переходит к функции ниже (второй по счету). В общем источник, почитать о call stack можно
здесь.