Существует некоторая путаница в отношении того, что определяет / использует JIT-компилятор: это язык программирования? это программа? среда выполнения?
Фактически, это реализация конкретного языка программирования, которая обеспечивает JIT-компилятор для конкретных целевых архитектур набора команд (x86, x86_64, PPC, ...).
Например, реализация SBCL предоставляет JIT-компилятор для Common LISP, но другие реализации этого языка этого не делают (например, CLISP).
Другой пример, реализация OpenJDK виртуальной машины Java обеспечивает JIT для некоторых архитектур, но не для других (например, ARM), где байт-код все еще интерпретируется.
В качестве примечания: не забывайте язык программирования Factor. Реализация тяжело использует JIT-компилятор.