Рассмотрим интерпретатор, в котором виртуальная машина основана на стеке. В стеке хранятся операнды и промежуточные результаты во время выполнения. Когда вызывается подпрограмма, виртуальная машина создает запись активации, в которой хранится информация об адресе возврата, аргументах и локальных переменных для подпрограммы. Эта запись активации помещается в стек.
Мой вопрос заключается в том, что при проектировании таких виртуальных машин запись активации хранится в отдельном стеке или записи помещаются в стек операндов? Я видел оба использованных дизайна, это просто личное предпочтение или есть ли преимущества иметь только один стек или два отдельных стека?