Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [omr-dev] Announcing our first OMR release v0.1.0

Mark, et al,

Congrats on the release! I’m very impressed by the number of contributors and the progress to date. 

Mike Milinkovich
(m) +1.613.220.3223

On Oct 5, 2019, at 12:21 AM, Mark Stoodley <mstoodle@xxxxxxxxxx> wrote:

Our first release binaries were published on GitHub just before midnight on October 4!
   (please see https://github.com/eclipse/omr/releases/tag/omr-0.1.0)

As I mentioned on our slack #general channel: thanks to all the 141+ people who contributed
to writing and reviewing the code, writing and running the tests, assembling our CI pipeline,
and working on the documentation, web sites, as well as discussions, slack conversations,
workshops, presentations, and everything else that does into the running of an open source
project, I'm very proud of the work we've all done to get to this point, and excited that
we have now produced our very first release. Great job, everyone!



OMR v0.1.0 Release Notes

Today, we’re releasing v0.1.0 of the Eclipse OMR project, declaring functional stability for
8 components (port, thread, util, diagnostics, vm, gc, compiler, jitbuilder) and API stability
for 3 components (port, thread, util). A functionally stable component has sufficient quality
to be used in production environments. For components with stable API, we expect the public
interface to the component to remain stable over subsequent minor releases (the API may still
change over major releases; we will document when that happens!).

This release represents the cumulative effort of 141 contributors across the globe making
7,443 commits since the project began in February 2016!  On behalf of the Eclipse OMR committers:
thank you to everyone who has contributed to this release! Because this release covers such a
large number of commits, it really isn’t practical to list all the amazing work that has been
contributed over the last three years. Going forward, we are intending to release more frequently,
so for future releases we will include a list of the significant changes and any outstanding issues
to be aware of.

Until Eclipse OMR graduates from an Eclipse Incubation project, we will continue to produce only
0.* releases, but this leading zero reflects only on our progress towards becoming a vendor neutral,
community led, open source project following Eclipse Foundation governance. We consider our
components to be production ready, as demonstrated by our primary consumers, Eclipse OpenJ9 and
the IBM SDK for Java, both of which have shipped multiple releases using earlier snapshots of
Eclipse OMR. These consumers are used in production in Fortune 500 companies across the globe.

With v0.1.0, we are making available the OMR source code as omr-v.0.1.0-source.zip and two
platform binary releases of the JitBuilder library (omr-v0.1.0-jitbuilder-macos.tar.gz for
the MacOS platform and omr-v0.1.0-jitbuilder-x86_64-linux.tar.gz for the Linux x86-64 platform).
All of these can be downloaded from our GitHub release page:
    https://github.com/eclipse/omr/releases/tag/omr-0.1.0 .

The source archive contains the entire source code for the OMR project along with this release
note (which unfortunately did not get into the repository in time for the release: we’ll do
better on that next time!). Each of the two jitbuilder archives contain a README.md file, the
static libjitbuilder.a library, the include files that define the JitBuilder API, and the full
set of code samples with Makefile showing how the various parts of the JitBuilder API can be used.
For this first release, there is no embedded JitBuilder documentation (another thing we will
improve upon for the next release!).


Here are a few examples of projects that are using Eclipse OMR:

- Eclipse OpenJ9 (https://github.com/eclipse/openj9), over the last two years, has produced
  9 releases (and in the midst of producing a 10th) using various versions of Eclipse OMR
  (OpenJ9 pulls new commits from OMR every hour or so). OMR v0.1.0 will be used as the basis
  for the OpenJ9 v0.17.0 release scheduled for mid October, although OpenJ9 may choose to enable
  by default some function that is not yet actively used in OMR itself. At this time, Eclipse
  OpenJ9 uses all of the Eclipse OMR components except for the JitBuilder API. Also note that
  Eclipse OpenJ9 in production use in many Fortune 500 companies and IBM software products on
  many platforms due to the monthly releases that include it in the IBM SDK for Java 8.

- Lua Vermelha (
https://github.com/Leonardo2718/lua-vermelha), a JIT compiler for Lua 5.3 that
  uses the OMR JitBuilder API.

- Base9 (
https://github.com/b9org/b9) An educational _javascript_ like virtual machine based on
  Eclipse OMR that consumes the port, thread, gc, compiler, and JitBuilder components

- EL (ttps://github.com/charliegracie/EL), a simple runtime for teaching VMs, which includes
  an interpreter that’s built using JitBuilder so that you can also create a JIT compiler from
  the same bytecode handlers

- SOMpp with OMR (
https://github.com/charliegracie/SOMpp/tree/omr_jitbuilder) integrates the
  OMR GC and compiler components (using JitBuilder) into the Simple Object Model virtual machine
  for Smalltalk

- NJ (
https://github.com/dibyendumajumdar/nj) is a cross platform JIT engine based on Eclipse OMR

- dmr_c (
https://github.com/dibyendumajumdar/dmr_c) is a C parser and JIT compiler with LLVM,
  Eclipse OMR and NanoJIT backends

- Ravi (
https://github.com/dibyendumajumdar/ravi) implements the Ravi Programming Language, a
  derivative of Lua 5.3 with limited optional static typing and featuring LLVM and Eclipse OMR
  powered JIT compilers

- Wasmjit-omr (
https://github.com/wasmjit-omr/wasmjit-omr/tree/master) consumes the OMR project
  and uses the JitBuilder API and underlying compiler component to implement a standalone (i.e.
  outside of the browser) JIT compiler for WebAssembly based on the WASM project.

- LLJB (https://github.com/nbhuiyan/lljb) uses the JitBuilder API to generate native code for
  LLVM IR withthe OMR compiler component

- Ruby+OMR (
https://github.com/rubyomr-preview/ruby) demonstrates how OMR VM, GC, and compiler
  components can be used to accelerate the CRuby runtime. This port has not been active for a
  while, but it still shows how the OMR compiler component can be used without the JitBuilder API.


--mark

_______________________________________________
omr-dev mailing list
omr-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/omr-dev

Back to the top