Сделать интерпретатор который умеет нормально опрередлять, транслировать в машинный код и изменять граф выполнения это огромная исследовательская задача
По этому в руби тупо сложили сишный конпелятор, который горячие узлы графа выполнения из байткода виртуальной машины транслирует в сишный код, который конплеруется конпелятором и дальше просто заменяет узел в графе