OMR项目由一个高度集成的开放源码C和c++组件,可用于构建大量的语言,运行时支持许多不同的硬件和操作系统平台。这些组件包括但不限于:内存管理,线程处理,平台端口(抽象)库,诊断支持,监控支持,垃圾收集和本地实时编译。
OMR项目的初始组件包括:
端口:平台移植库
线程:一个跨平台pthread-like线程库
用途:通用工具用于构建跨平台的运行
OMR信号处理:信号处理兼容图书馆
OMR跟踪: 与IBM健康中心监控工具进行通信的跟踪库
工具: 构建系统的代码生成工具
垃圾收集: 垃圾回收堆管理框架
虚拟机: api来管理每段口译和每段线程环境
例子: 演示代码来展示语言运行时可能会消耗的一些OMR组件
fvtest:一种语言测试框架以便OMR组件以外的语言运行时也可以被测试
现有进行项目包括:
文档: 代码注释是伟大的,但我们需要更多综述文档以便我们写作
常见问题: 来自真实个人的常见问题(要求:问问题!)
OMR “滑块”: 相对简单但有用的工作项意味着人们新的项目
诊断: 帮助开发人员和用户在语言运行时更多的诊断支持
健康中心代理商: IBM健康中心代理商的核心代码连接到运行
准时制:几个平台托管代码缓存的及时生成本机代码的编译器
gc: 加代和其他GC策略
构建独立OMR方法:
# Generate autotools makefiles with SPEC-specific presets make -f run_configure.mk SPEC=linux_x86-64 OMRGLUE=./example/glue # Build make # Run tests (note that no contribution should cause new test failures in "make test") make test