Аргументом в пользу JIT-языков, таких как C # и Java, является то, что они могут лучше выполнять оптимизацию, поскольку профилирование времени выполнения виртуальной машиной может оптимизировать код лучше, чем статически оптимизированный код C ++.
Однако мне было интересно, можем ли мы также использовать виртуальную машину для оптимизации кода во время выполнения для C ++ или, скорее, для любого подобного языка. Например, мы могли бы взять IR, сгенерированный компилятором LLVM, и создать виртуальную машину, которая интерпретирует, JIT и оптимизирует код, так же, как в случае Java и C #.
Конечно, не будет сборщика мусора, но фактор оптимизации будет. Кто-нибудь работал над этим. Есть ли по этому поводу какие-то бумаги, инструменты? Насколько хорош будет этот подход?