This project consists of core componentry that can be (re)used to build language runtimes along with test cases to operationally document and maintain the semantics of those components. It is a set of functional, robust components that have no language specificity and direct component level tests. At least initially, it will not include any components or tests that are implemented in language specific ways, and it will not include any code that surfaces OMR component capabilities to any particular language except as sample code. Code and tests for language specific capabilities probably belong in projects devoted to particular languages, but as the OMR project becomes consumed by more languages, it may make sense for some language specific code to reside within the OMR project to accelerate problem discovery for OMR code contributions.
Here are a few of the projects that are using Eclipse OMR:
- NJ: A cross platform JIT engine based on Eclipse OMR: https://github.com/dibyendumajumdar/nj
- wasmjit-omr: A WebAssembly JIT for outside the browser: https://github.com/wasmjit-omr/wasmjit-omr
- LLJB: LLVM+JitBuilder (compiling LLVM IR with JitBuilder): https://github.com/nbhuiyan/lljb
- SOMpp+JitBuilder: SOM Smalltalk interpreter with JitBuilder JIT: https://github.com/charliegracie/SOMpp/tree/jitbuilder_vmstate
- rosie-lpeg-jit: LPEG pattern matching engine JIT: https://github.com/mstoodle/rosie-lpeg/tree/experimental_omrjit