首页> 外文期刊>Computer Languages, Systems & Structures >Efficient exception handling in Java bytecode-to-C ahead-of-time compiler for embedded systems
【24h】

Efficient exception handling in Java bytecode-to-C ahead-of-time compiler for embedded systems

机译:嵌入式系统Java字节码到C提前编译器中的高效异常处理

获取原文
获取原文并翻译 | 示例

摘要

One of the most promising approaches to Java acceleration in embedded systems is a bytecode-to-C ahead-of-time compiler (AOTC). It improves the performance of a Java virtual machine (JVM) by translating bytecode into C code, which is then compiled into machine code via an existing C compiler. One important design issue in AOTC is efficient exception handling. Since the excepting point and the exception handler may locate in different methods on a call stack, control transfer between them should be streamlined, while an exception would be an "exceptional" event, so it should not slow down normal execution paths. Previous AOTCs often employed a technique called stack cutting based on a setjmp()/longjmp() pair, which we found is involved with too much performance overheads. Also, when the AOTC and the interpreter are employed concurrently (e.g., some methods are AOTCed while other methods are interpreted), the performance of normal execution paths is affected more seriously. This paper proposes a simpler solution based on an exception check after each method call, merged with garbage collection check for reducing its overhead. Our evaluation results on SPECjvm98 on Sun's CVM indicate that our technique can improve the performance of stack cutting by more than 25%. A similar performance benefit can be noted on a hybrid execution environment of both the AOTC and the interpreter.
机译:嵌入式系统中最有前途的Java加速方法之一是字节码到C的时间提前编译器(AOTC)。它通过将字节码转换为C代码,然后再通过现有的C编译器将其编译为机器代码,从而提高了Java虚拟机(JVM)的性能。 AOTC中的一个重要设计问题是有效的异常处理。由于异常点和异常处理程序可能位于调用堆栈上的不同方法中,因此应简化它们之间的控件传递,而异常将是“异常”事件,因此它不应减慢正常的执行路径。以前的AOTC经常基于setjmp()/ longjmp()对采用称为堆栈切割的技术,我们发现这涉及太多的性能开销。另外,当同时使用AOTC和解释器时(例如,某些方法被AOTC,而其他方法被解释),正常执行路径的性能受到更严重的影响。本文提出了一个更简单的解决方案,该方法基于每次方法调用之后的异常检查,并与垃圾回收检查合并以减少其开销。我们在Sun的CVM上对SPECjvm98的评估结果表明,我们的技术可以将堆栈切割的性能提高25%以上。可以在AOTC和解释器的混合执行环境中注意到类似的性能优势。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号