Почему виртуальная машина Java была разработана без регистров для хранения промежуточных значений данных? Вместо этого все работает в стеке. Есть ли какое-то конкретное преимущество в архитектуре на основе стека вместо регистра?