Índice:
Definição - O que significa Stack Frame?
Um quadro de pilha é uma técnica de gerenciamento de memória usada em algumas linguagens de programação para gerar e eliminar variáveis temporárias. Em outras palavras, pode ser considerada a coleta de todas as informações na pilha pertencentes a uma chamada de subprograma. Quadros de pilha existem apenas durante o processo de tempo de execução. Os quadros de pilha ajudam as linguagens de programação no suporte à funcionalidade recursiva para sub-rotinas.
Um quadro de pilha também conhecido como quadro de ativação ou registro de ativação.
Techopedia explica Stack Frame
Um quadro de pilha é composto por:
- Variáveis locais
- Cópias salvas de registros modificadas por subprogramas que podem precisar de restauração
- Parâmetros de argumento
- Endereço de devolução
Um quadro de pilha individual possui espaço para parâmetros reais, locais temporários, variáveis locais e informações de sub-rotina de chamada. Quando as rotinas específicas que chamam esses parâmetros, locais ou variáveis concluíram a execução, o quadro de pilha relevante é eliminado da pilha. A ordem das informações de embalagem na estrutura da pilha, na maioria dos casos, é independente das especificações da linguagem de programação.
Um dos recursos mais destacados do quadro de pilha é que, para um subprograma específico, o tamanho do quadro de pilha é fixo. Para que uma linguagem de programação use um quadro de pilha, um contador de programa e um encadeamento devem estar disponíveis com dois ponteiros: o ponteiro base e o ponteiro da pilha. O ponteiro base sempre aponta para o topo do quadro, enquanto o ponteiro da pilha aponta para o topo da pilha. O contador do programa ajuda a apontar para a próxima instrução executável. Um quadro de pilha para um determinado procedimento possui todas as informações relevantes para salvar e restaurar o estado do procedimento específico.
