Куда идут данные после операции pop в виртуальной машине на основе стека? - PullRequest
0 голосов
/ 13 декабря 2018

Предположим, у меня есть следующий байт-код виртуальной машины:

push constant 10
push constant 20
call add
pop

Результат этой операции 30.Я понимаю, что такое операции push, pop и call, и что push помещает константу в стек, вызов переходит в другую ветвь, а pop удаляет то, что находится на вершине стека.Но куда идет значение операции pop (в данном случае)?Это для меня загадка.

1 Ответ

0 голосов
/ 14 декабря 2018

Nowhere.pop выбрасывает значение.Это похоже на то, что происходит в исходном коде высокого уровня, если вы вызываете функцию и не сохраняете результат в переменной.

...