blob: ffa039842f83e665aa048db383d27c53e732b72e [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<title>What is OMR?</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/omr/css/style.css">
<link rel="stylesheet" href="/omr/css/dropit.css">
<link rel="stylesheet" href="/omr/css/prism.css">
<link rel="stylesheet" href="/omr/css/font-awesome.min.css">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&amp;amp;subset=latin,latin-ext">
<link href='https://fonts.googleapis.com/css?family=Roboto:700,300,500,400,100' rel='stylesheet' type='text/css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script data-cfasync="false" src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script data-cfasync="false" src="/omr/js/app.js"></script>
<script data-cfasync="false" src="/omr/js/retina.js"></script>
<script data-cfasync="false" src="/omr/js/dropit.js"></script>
<script data-cfasync="false" src="/omr/js/prism.js"></script>
</head>
<body>
<section class="content">
<header>
<div id="mobile-menu">
<div id="nav-button" class="fa fa-bars fa-2x button"></div>
</div>
<section id="logo"><a href="/omr/" class="omr">Eclipse OMR</a>
</section>
<div id="navbar">
<ul id="navmenu">
<li><a href="/omr/" id="home-menu">Home</a></li>
<li>
<ul id="getting-started-menu" class="menu">
<li><a href="/omr/starter/whatisomr.html" class="active">Getting started</a>
<ul>
<li>
<a href="/omr/starter/whatisomr.html">What is OMR?</a>
</li>
<li>
<a href="/omr/starter/goals.html">Project goals</a>
</li>
<li>
<a href="/omr/starter/project.html">Get involved</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<ul id="guide-menu" class="menu">
<li><a href="/omr/guide/building.html">Guide</a>
<ul>
<li><a href="/omr/guide/building.html">Building</a>
</li>
<li><a href="/omr/guide/configuring.html">Configuring</a>
</li>
<li><a href="/omr/guide/testing.html">Testing your runtime</a>
</li>
<li><a href="/omr/guide/troubleshooting.html">Troubleshooting</a>
</li>
<li><a href="/omr/guide/best-practices.html">Best practices</a>
</li>
<li><a href="/omr/guide/coding-stds.html">Coding standards</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<ul id="reference-menu" class="menu">
<li><a href="/omr/reference/architecture.html">Reference</a>
<ul>
<li><a href="/omr/reference/architecture.html">Architecture</a>
</li>
<li><a href="/omr/reference/components.html">Components:</a>
</li>
<li><a class="subsub" href="/omr/reference/thread.html">Thread</a>
</li>
<li><a class="subsub" href="/omr/reference/gc.html">GC</a>
</li>
<li><a class="subsub" href="/omr/reference/vm.html">VM</a>
</li>
<li><a class="subsub" href="/omr/reference/jit.html">JIT</a>
</li>
<li><a class="subsub" href="/omr/reference/port.html">Port</a>
</li>
<li><a class="subsub" href="/omr/reference/tools.html">Tools</a>
</li>
<li><a class="subsub" href="/omr/reference/glue.html">Glue</a>
</li>
<li><a class="subsub" href="/omr/reference/util.html">Util</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<ul id="resources-menu" class="menu">
<li><a href="/omr/resources/omr-on-github.html">Resources</a>
<ul>
<li><a href="/omr/resources/omr-on-github.html">OMR on GitHub</a>
</li>
<li><a href="/omr/resources/presentations.html">Presentations</a>
</li>
<li><a href="/omr/resources/blogs.html">Blogs</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<ul id="releases-menu" class="menu">
<li><a href="/omr/releases/first-release.html">Releases</a>
<ul>
<li><a href="/omr/releases/first-release.html">What's new</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div id="eggContainer">
<div align="center">
<a href="https://projects.eclipse.org/projects/technology.omr" style="padding-right: 0px;">
<img id="incubatingIcon" align="center" src="/omr/images/incubating.png" border="0" alt="Incubation" />
</a>
</div>
<h6 id="incubateText">Incubation</h6>
</div>
</div>
</header>
<div id="overlay"></div>
<h1 id="what-is-omr">What is OMR?</h1>
<p><strong>The Eclipse OMR project</strong> consists of a highly integrated set of open source C and C++ components that can be used to build robust language runtimes that will support many different hardware and operating system platforms. These components include, but are not limited to: memory management, threading, platform port (abstraction) library, diagnostic file support, monitoring support, garbage collection, and native ‘Just In Time’ compilation.</p>
<p><strong>Licenses:</strong> All Eclipse OMR project materials are made available under the Eclipse Public License V1.0 and the Apache 2.0 license. You can choose which license you wish to follow. Please see our LICENSE file for more details.</p>
<p>The initial set of <strong>Eclipse OMR components</strong> includes:</p>
<ul>
<li><strong>port</strong>: platform porting library</li>
<li><strong>thread</strong>: a cross platform pthread-like threading library</li>
<li><strong>util</strong>: general utilities useful for building cross platform runtimes</li>
<li><strong>omrsigcompat</strong>: signal handling compatibility library</li>
<li><strong>omrtrace</strong>: tracing library for communication with IBM Health Center monitoring tools</li>
<li><strong>tool</strong>: code generation tools for the build system</li>
<li><strong>gc</strong>: garbage collection framework for managed heaps</li>
<li><strong>vm</strong>: APIs to manage per-interpreter and per-thread contexts</li>
<li><strong>example</strong>: demonstration code to show how a language runtime might consume Eclipse OMR components</li>
<li><strong>fvtest</strong>: a language-independent test framework so that Eclipse OMR components can be tested outside a language runtime</li>
</ul>
<p><strong>Current consumers</strong> of the Eclipse OMR technology:</p>
<ul>
<li>The <strong>IBM J9 Virtual Machine</strong> is the most comprehensive consumer. J9 is a high performance, scalable, enterprise class Java Virtual Machine implementation representing hundreds of person-years of effort. While not an open source project itself, J9 directly implements capabilities for Java by using the core implementations provided by Eclipse OMR.</li>
<li>The <strong>Ruby+OMR Technology Preview</strong> project also consumes the Eclipse OMR components by modifying the CRuby project.</li>
<li>A <strong>SOM++ Smalltalk</strong> runtime has been modified to use Eclipse OMR components.</li>
<li>An experimental version of <strong>CPython</strong> using Eclipse OMR components has been created but is not currently available in the open. (Our focus has been on getting this code out into the open.)</li>
</ul>
</section>
<a id="top" href="#"><img src="/omr/images/arrow.png"></a>
<footer>
<div id="f_container">
<div id="f_1">
<div class="f_icon" style="background-image: url(/omr/images/inforound.png);">
</div>
<div class="f_link_group bold">
<span class="f_link">&nbsp;<i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i>&nbsp;&nbsp;<a href="https://projects.eclipse.org/projects/technology.omr">OMR on Eclipse Technology projects</a>
</span>
<br>
<span class="f_link"><i class="fa fa-graduation-cap f_mini" aria-hidden="true"></i>&nbsp;&nbsp;<a href="https://developer.ibm.com/open/omr/">OMR on developerWorks Open</a>
</span>
</div>
</div>
<div id="f_1">
<div class="f_icon" style="background-image: url(/omr/images/GitHub-Mark-64px.png);">
</div>
<div class="f_link_group bold">
<span class="f_link"><i class="fa fa-github-alt f_mini" aria-hidden="true"></i>&nbsp;&nbsp;<a href="https://github.com/eclipse/omr">Contribute on GitHub</a>
</span>
<br>
<span class="f_link"><i class="fa fa-gavel f_mini" aria-hidden="true"></i>&nbsp;&nbsp;<a href="https://github.com/eclipse/omr/blob/master/LICENSE">OMR license on GitHub</a>
</span>
</div>
</div>
<div id="f_1">
<div class="f_icon" style="background-image: url(/omr/images/fa_thumb_up.png);">
</div>
<div class="f_link_group bold">
<span class="f_link"><i class="fa fa-twitter f_mini" aria-hidden="true"></i>&nbsp;&nbsp;<a href="https://twitter.com/eclipseomr">Follow us on Twitter</a>
</span>
<br>
<span class="f_link"><i class="fa fa-youtube-play f_mini" aria-hidden="true"></i>&nbsp;&nbsp;<a href="https://www.youtube.com/channel/UCO8MkTRrFnLefi5nqReOMMA">OMR on YouTube</a>
</span>
</div>
</div>
</div>
<!--<div id="f_container_3">
<div id="f_2">
<div align="center">
<a href="https://projects.eclipse.org/projects/technology.omr">
<img id="incubatingIcon" align="center" src="../../images/incubating.png" border="0" alt="Incubation" />
</a>
</div>
<h6 id="incubateText">Incubation</h6>
</div>
</div>-->
<div id="f_container_2">
<div id="f_1">
<div class="f_link_group bold">
<span class="f_link_2">&nbsp;<i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i>&nbsp;<a href="http://www.eclipse.org">Eclipse Foundation website</a>
</span>
<span class="f_link_2">&nbsp;<i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i>&nbsp;<a href="http://www.eclipse.org/legal/privacy.php">Privacy policy</a>
</span>
<span class="f_link_2">&nbsp;<i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i>&nbsp;<a href="http://www.eclipse.org/legal/termsofuse.php">Website terms of use</a>
</span>
<span class="f_link_2">&nbsp;<i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i>&nbsp;<a href="http://www.eclipse.org/legal/copyright.php">Copyright agent</a>
</span>
<span class="f_link_2">&nbsp;<i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i>&nbsp;<a href="http://www.eclipse.org/legal">Legal</a>
</span>
</div>
</div>
</div>
<!--
<div id="footer-content">
<div id="sponsor">OMR is an <a href="https://projects.eclipse.org/projects/technology.omr">Eclipse Technology project</a>. </div>
<div id="git"><a href="https://github.com/eclipse/omr"> Contribute on GitHub</a>
</div>
<div id="twitter"><a href="https://twitter.com/eclipseomr"><i class="fa fa-twitter" id="tw-icon" aria-hidden="true"></i> Follow us on Twitter</a>
</div>
</div>
-->
</footer>
</body>
</html>