IBM Eclipse OMR project is a series of tools (garbage-collector, JIT, etc…) for implementing a new language run-time, without starting from scratch.
It is used for IBM J9 VM, but the run-time is generic and it can be used for Python, Ruby and many other languages.
It is different from Oracle Graal project
- it is a “classical” run-time, where one give hints to the GC and so on
- it is written in C++
Both Graal and OMR are used in production for real projects.
Probably Graal is more advanced: different languages can cohexist with very few overhead.
Probably OMR is more lightweight: less RAM is needed.
Probably OMR is a sort of LLVM with some aspects already solved: GC, efficient JIT, instrumentations and management of code.