GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - eclipse-omr/omr: Eclipse OMR™ Cross platform components for building reliable, high performance language runtimes

BranchesTags
Open more actions menu

Latest commit

 

History

15,281 Commits
15,281 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
artwork
artwork
 
 
buildenv
buildenv
 
 
cmake
cmake
 
 
compiler
compiler
 
 
ddr
ddr
 
 
doc
doc
 
 
example
example
 
 
fvtest
fvtest
 
 
gc
gc
 
 
include_core
include_core
 
 
jitbuilder
jitbuilder
 
 
lib
lib
 
 
nls
nls
 
 
omr
omr
 
 
omr_glue_static_lib
omr_glue_static_lib
 
 
omr_static_lib
omr_static_lib
 
 
omrmakefiles
omrmakefiles
 
 
omrsigcompat
omrsigcompat
 
 
omrtrace
omrtrace
 
 
perftest
perftest
 
 
port
port
 
 
scripts
scripts
 
 
sharedcache
sharedcache
 
 
third_party
third_party
 
 
thread
thread
 
 
tools
tools
 
 
util
util
 
 
.git-blame-ignore-revs
.git-blame-ignore-revs
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CODEOWNERS
CODEOWNERS
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
GNUmakefile
GNUmakefile
 
 
INSTALL
INSTALL
 
 
LICENSE
LICENSE
 
 
NOTICE.md
NOTICE.md
 
 
OmrConfig.cmake
OmrConfig.cmake
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
about.html
about.html
 
 
asl-v20.text
asl-v20.text
 
 
azure-pipelines.cache
azure-pipelines.cache
 
 
azure-pipelines.yml
azure-pipelines.yml
 
 
config.guess
config.guess
 
 
config.sub
config.sub
 
 
configure
configure
 
 
configure.ac
configure.ac
 
 
ddr_artifacts.mk
ddr_artifacts.mk
 
 
epl-2.0.html
epl-2.0.html
 
 
install-sh
install-sh
 
 
omr.rc.in
omr.rc.in
 
 
run_configure.mk
run_configure.mk
 
 

Repository files navigation

Eclipse OMR

The Eclipse OMR project is a set of open source C and C++ components that can be used to build robust language runtimes that support many different hardware and operating system platforms.

Our current components are:

  • gc: Garbage collection framework for managed heaps
  • compiler: Components for building compiler technology, such as JIT compilers.
  • jitbuilder: An easy to use high level abstraction on top of the compiler technology.
  • port: Platform porting library
  • thread: A cross platform pthread-like threading library
  • util: general utilities useful for building cross platform runtimes
  • omrsigcompat: Signal handling compatibility library
  • omrtrace: Tracing library for communication with IBM Health Center monitoring tools
  • tool: Code generation tools for the build system
  • vm: APIs to manage per-interpreter and per-thread contexts
  • example: Demonstration code to show how a language runtime might consume some Eclipse OMR components
  • fvtest: A language-independent test framework so that Eclipse OMR components can be tested outside of a language runtime

Build Status

Build Status
Windows x86-64 Windows x86-64 Status
Linux x86 Build Status
Linux x86-64 Linux x86-64 Status
Linux AArch64 (ARM 64-bit) Build-linux_aarch64 Status
Linux ARM 32-bit Build-linux_arm Status
OSX x86-64 Build Status
Linux Power 64-bit Build-linux_ppc-64_le_gcc Status
AIX Power 64-bit Build-aix_ppc-64 Status
Linux Z (s390x) 64-bit Build-linux_390-64 Status
z/OS (s390x) 64-bit Build-zOS_390-64 Status

What's the goal?

The long term goal for the Eclipse OMR project is to foster an open ecosystem of language runtime developers to collaborate and collectively innovate with hardware platform designers, operating system developers, as well as tool and framework developers and to provide a robust runtime technology platform so that language implementers can much more quickly and easily create more fully featured languages to enrich the options available to programmers.

It is our community's fervent goal to be one of active contribution, improvement, and continual consumption.

Who is using Eclipse OMR?

  • The most comprehensive consumer of the Eclipse OMR technology is the Eclipse OpenJ9 Virtual Machine: a high performance, scalable, enterprise class Java Virtual Machine implementation representing hundreds of person years of effort, built on top of the core technologies provided by Eclipse OMR.
  • The Ruby+OMR Technology Preview has used Eclipse OMR components to add a JIT compiler to the CRuby implementation, and to experiment with replacing the garbage collector in CRuby.
  • A SOM++ Smalltalk runtime has also been modified to use Eclipse OMR componentry.
  • An experimental version of CPython using Eclipse OMR components has also been created but is not yet available in the open. (Our focus has been dominated by getting this code out into the open!)

What's the licence?

License License

All Eclipse OMR project materials are made available under the Eclipse Public License 2.0 and the Apache 2.0 license. You can choose which license you wish to follow. Please see our LICENSE file for more details.

How Do I Interact With the Community?

We operate under the Eclipse Code of Conduct to promote fairness, openness, and inclusion.

  • Join the Eclipse OMR community Slack workspace. You can join channels that interest you, ask questions, and receive answers from subject matter experts.
  • Join the Eclipse OMR developer community mailing list. The community primarily uses this list for project announcements and administrative discussions amongst committers. Questions are welcome here as well.
  • Ask a question or start a discussion via a GitHub issue.

Contributing

If you would like to contribute to OMR, check out the contributing guide for more information. We also have curated a set of good first issues for newcomers to tackle.

How Do I Use it?

How to Build Standalone Eclipse OMR

The best way to get an initial understanding of the Eclipse OMR technology is to look at a 'standalone' build, which hooks Eclipse OMR up to the its testing system only.

Basic configuration and compile

To build standalone Eclipse OMR, run the following commands from the root of the source tree. For more detailed instructions please read BuildingWithCMake.md.

# Create a build directory and cd into it
mkdir build
cd build

# Generate the build system using cmake
cmake -Wdev -C ../cmake/caches/Travis.cmake ..

# Build (you can optionally compile in parallel by adding -j<N> to the make command)
make

# Run tests (note that no contribution should cause new test failures in testing).
# Use the `-V` option to see verbose output from the tests.
ctest [-V]

Building Eclipse OMR on Windows using Visual Studio

The following instructions below demonstrate the steps to build Eclipse OMR on Windows using Visual Studios. In the example Visual Studio 11 2012 Win64 is being used. You can easily switch this to the version of Visual Studio you would like to use.

# Create a build directory and cd into it
mkdir build
cd build

#generate the build system using cmake
cmake -G "Visual Studio 11 2012 Win64" ..

# Build
cmake --build .

# Run tests (note that no contribution should cause new test failures in "make test")
ctest

Where can I learn more?

Presentations about Eclipse OMR

  • Mark Stoodley's talk at the JVM Languages Summit in August, 2015: A VM is a VM is a VM: The Secret Path to High Performance Multi-Language Runtimes
  • Daryl Maier's slides from Java One in October, 2015: Beyond the Coffee Cup: Leveraging Java Runtime Technologies for the Polyglot
  • Charlie Gracie's slides from Java One in October, 2015: What's in an Object? Java Garbage Collection for the Polyglot
  • Angela Lin, Robert Young, Craig Lehmann and Xiaoli Liang CASCON Workshop in November, 2015 Building Your Own Runtime
  • Charlie Gracie's talk from FOSDEM in February, 2016: Ruby and OMR: Experiments in utilizing OMR technologies in MRI
  • Charlie Gracie's slides from jFokus in February, 2016 A JVMs Journey into Polyglot Runtimes
  • Mark Stoodley's slides from EclipseCON in March, 2016 Eclipse OMR: a modern toolkit for building language runtimes

Blog Posts about OMR technologies

  • Introducing Eclipse OMR: Building Language Runtimes
  • JitBuilder Library and Eclipse OMR: Just-In-Time Compilers made easy

Copyright IBM Corp. 2016

About

Eclipse OMR™ Cross platform components for building reliable, high performance language runtimes

www.eclipse.org/omr

Topics

hacktoberfest

Resources

Readme
License

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

1.0k stars

Watchers

56 watching

Forks

431 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.