【24h】

Recompilation for debugging support in a JIT-compiler

机译:重新编译在JIT-Compiler中调试支持

获取原文

摘要

A static Java compiler converts Java source code into a verifiably secure and compact architecture-neutral intermediate format, called Java byte codes. The Java byte codes can be either interpreted by a Java Virtual Machine or translated into native code by Java Just-In-Time compilers. Static Java compilers embed debug information in the Java class files to be used by the source level debuggers. However, the debug information is generated for architecture independent byte codes and most of the debug information is valid only when the byte codes are interpreted. Translating byte codes into native instructions puts a limitation on the amount of usable debug information that can be used by source level debuggers. In this paper, we present a new technique to generate valid debug information when Just-In-Time compilers are used. Our approach is based on the dynamic recompilation of Java methods by a fast code generator and lazily generates debug information when it is required. We also present three implementations for field watch support in the Java Virtual Machine Debugger Interface to investigate the runtime overhead and code size growth by our approach.
机译:静态Java编译器将Java源代码转换为可验证的安全和紧凑型体系结构中性的中间格式,称为Java 字节代码。 Java字节代码可以由Java虚拟机解释或通过Java即时编译器翻译成本机代码。静态Java编译器嵌入源级调试器使用的Java类文件中的调试信息。但是,为架构独立的字节代码生成调试信息,并且在解释字节代码时,大多数调试信息才有效。将字节代码转换为原生指令对源级调试器可用的可用调试信息的量限制。在本文中,我们在使用即时编译器时,我们介绍了一种生成有效调试信息的新技术。我们的方法基于Java方法的动态重新编译通过快速代码生成器,并在需要时懒惰地生成调试信息。我们还为java虚拟机调试器界面中的字段手表支持提供了三种实现,以研究我们的方法的运行时开销和代码大小增长。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号