首页> 外文会议>European conference on object-oriented programming >OpenJIT: An Open-Ended, Reflective JIT Compiler Framework for Java
【24h】

OpenJIT: An Open-Ended, Reflective JIT Compiler Framework for Java

机译:OpenJit:一个开放式,反光JIT编译器框架用于Java

获取原文

摘要

OpenJIT is an open-ended, reflective JIT compiler framework for Java being researched and developed in a joint project by Tokyo Inst. Tech. and Fujitsu Ltd. Although in general self-descriptive systems have been studied in various contexts such as reflection and interpreter/compiler bootstrapping, OpenJIT is a first system we know to date that offers a stable, full-fledged Java JIT compiler that plugs into existing monolithic JVMs, and offer competitive performance to JITs typically written in C or C++. This is in contrast to previous work where compilation did not occur in the execution phase, customized VMs being developed ground-up, performance not competing with existing optimizing JIT compilers, and/or only a subset of the Java language being supported. The main contributions of this paper are, 1) we propose an architecture for a reflective JIT compiler on a monolithic VM, and identify the technical challenges as well as the techniques employed, 2) We define an API that adds to the existing JIT compiler APIs in "classic" JVM to allow reflective JITs to be constructed, 3) We show detailed benchmarks of run-time behavior of OpenJIT to demonstrate that, while being competitive with existing JITs the time- and space-overheads of compiler metaobjects that exist in the heap are small and manageable. Being an object-oriented compiler framework, OpenJIT can be configured to be small and portable or fully-fledged optimizing compiler framework in the spirit of SUIF. It is fully JCK compliant, and runs all large Java applications we have tested to date including HotJava. We are currently distributing OpenJIT for free to foster further research into advanced compiler optimization, compile-time reflection, advanced run-time support for languages, as well as other areas such as embedded computing, metacomputing, and ubiquitous computing.
机译:OpenJit是一个开放式反映的JiT编译编译器框架,用于在东京Inst的联合项目中被研究和开发。技术。虽然在一般的自我描述系统中已经在反射和解释器/编译器的各种情况下研究了一般的自我描述性系统,但是OpenJit是我们了解到日期的第一个系统,提供了一个稳定的全面的Java JIT编译器,即插入现有单片JVM,并为通常用C或C ++编写的JIT提供竞争性能。这与前一个工作相比,在执行阶段未发生编译,正在开发的自定义VMS upiar-Up,性能不与现有优化JIT编译器竞争,以及/或仅支持Java语言的子集。本文的主要贡献是1)我们提出了一条在单片VM上的反光JIT编译器的架构,并确定了技术挑战以及所用技术,2)我们定义了向现有JIT编译器API添加的API在“经典”JVM允许构造的反光JITS中,3)我们显示了OpenJit的运行时行为的详细基准,以证明存在与现有JITS竞争的同时存在于存在的编译器元的时空和空间开销堆很小而且可管理。作为一个面向对象的编译器框架,OpenJit可以配置为小型和便携式或完全成熟的优化编译器框架,精神。它是完全符合JCK的,并运行我们测试到的所有大型Java应用程序,包括Hotjava。我们目前正在自由分发OpenJit,以促进进一步研究高级编译器优化,编译时反映,对语言的高级运行时间支持,以及嵌入式计算,元扫描和无处不在的计算等领域。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号