Do you need a full-on JIT, or just a runtime? [1]
[0]: https://docs.microsoft.com/en-us/dotnet/csharp/programming-g...
[1]: https://docs.microsoft.com/en-us/dotnet/csharp/programming-g...
The AS/400 uses a kernel level JIT, binaries are only JITted at installation time or explicitly via the command line.
The Lisp environments also only used JIT once.
Some implementations of Oberon would use bytecode instead of native code and JIT on module load.
There are many other examples.