Anropsstacken
Anropsstacken är en dataordning som används av ett program under körning för att hålla ordning på pågående funktionsanrop. Den lagrar information som behövs för att återgå till rätt plats när en funktion avslutas, till exempel returadress, parametrar och lokala variabler, samt sparade register som behövs för att återuppta beräkningar. Stacken följer vanligtvis LIFO-principen: varje anrop skapar en ny stackram (ett frame) som placeras på stacken. När funktionen avslutas returneras kontrollen enligt returadressen och ramen tas bort. Returadressen finns ofta i ramen tillsammans med parametrarna och de lokala variablerna i en viss struktur.
Vad som lagras och hur det organiseras kan variera mellan språk och arkitekturer, men den grundläggande idén
Jämfört med heapen hanterar anropsstacken minnet automatiskt när funktioner returnerar, medan minne i heapen ofta används
Vissa språk och körmiljöer stödjer tail call-optimisering (TCO) som kan återanvända den nuvarande ramen i slutet
Felsökning: backtraces eller stacktraces visar den aktuella anropsstacken och hjälper vid undantag och felmeddelanden. I språk