Давно я думал над этой фичей для эмулятора, поэтому решил поискать готовые решения, наковырял три библиотеки GNU lightning, LLVM и LibJIT.
Первая генерит код без определения необходимого объема памяти, т.е. программист должен быть хорошим телепатом, что бы не словить критическую ошибку и не транжирить память - короче не подходит.
Вторая хороша, но специфична + не хочет компилироваться, уж не знаю почему, видимо не умею ее готовить )
Третья - идеальный кандидат, но тоже не хотела компилироваться - пришлось заставить, билд прилагаю
Что бы скомпилировать libjit-0.1.2 на Mingw 4.6.2 пришлось поправить файл libjit-0.1.2\tools\gen-apply.c, добавив атрибут volatile в строке 962.