Каков наилучший способ узнать о реализации виртуальной машины помимо фактического взлома кода? - PullRequest
7 голосов
/ 03 апреля 2009

Я хотел бы узнать больше о внедрении и оптимизации виртуальных машин. Прямо сейчас я помогаю (в малой степени) с JRuby, а также играю / пишу с помощью своей собственной реализации, похожей на lisp, которая работает на виртуальной машине.

Однако я хотел бы получить больше информации о работе с виртуальными машинами и их проектировании. Есть ли хороший ресурс для этого типа информации помимо чтения / работы с существующим кодом? Я не против этого, я просто подумал, есть ли другие источники, которые я мог бы изучить.

Ответы [ 3 ]

5 голосов
/ 03 апреля 2009

также проверьте Реализация Lua 5.0 . она считается самой быстрой виртуальной машиной в своем классе, а также одной из самых чистых и маленьких реализаций.

5 голосов
/ 03 апреля 2009

Читайте работы Антона Эртля. Также Дэвид Грегг. Также вы можете прочитать Smalltalk blue book , которая состоит из трех глав на виртуальной машине. Smalltalk Зеленая книга также интересна и бесплатна онлайн.

Менее технически, но все же интересно, если у вас есть доступ к цифровой библиотеке ACM, прадедушка всех портативных виртуальных машин, UCSD Pascal .

Наконец, я поддерживаю рекомендацию Реализация Lua 5.0 . Это превосходная работа.

1 голос
/ 03 апреля 2009

Взгляните на LLVM и Parrot .

...