Проектирование виртуальной машины с JIT-компиляцией - PullRequest
1 голос
/ 25 октября 2019

Я пишу виртуальную машину для динамически типизируемого интерпретируемого языка, который я создаю, я подумал о JIT и, если оно того стоило, добавить его, проект, который я задумал, состоит в том, чтобы встроить его вобычная виртуальная машина где-то, потому что, как вы знаете, JIT не являются переносимыми, поэтому у меня может не быть всех бэкэндов, и я хотел бы по-прежнему повторно использовать обычную виртуальную машину и отключить JIT с помощью простого флага #define, мне просто нужны небольшие советы по проектированию, как бы этоиди, нужно ли мне jit компилировать все инструкции в машинный код или я имел в виду что-то вроде «частичного jit», чтобы jit компилировал несколько критичных для производительности инструкций, но тогда я не знаю, как это будет работать, как быэто мешает другим инструкциям, которые не скомпилированы в jit, и другой вопрос, который возникает у меня в голове, это как бы я представлял типы и все такое на уровне ассемблера, в общем, я абсолютный нуб в jit-компиляторах и мне нужен кто-то, чтобы вестиправильный путь, что делают другие виртуальные машины, такие как JVM и LuaJIT, в этомслучай

...