Виртуальная машина на основе стека очень проста как в плане концепции, так и в реализации. Каждый, кто имеет опыт работы с CS, может реализовать простую полнофункциональную виртуальную машину в несколько сотен строк кода.
Вы можете думать о стеке как о произвольном большом количестве регистров, если возникнет такая необходимость. Добавление регистров с самого начала было бы преждевременной оптимизацией.
Простая концепция упрощает создание настоящей магии, например, Hotspot поверх модели. Это не просто, но вы можете выбрать уровень сложности на основе ваших способностей от простого переводчика до простого JIT для Hotspot.