【24h】

The case for virtual register machines

机译:虚拟注册机的情况

获取原文

摘要

Virtual machines (VMs) are a popular target for language implementers. Conventional wisdom tells us that virtual stack architectures can be implemented with an interpreter more efficiently, since the location of operands is implicit in the stack pointer. In contrast, the operands of register machine instructions must be specified explicitly. In this paper, we present a working system for translating stack-based Java virtual machine (JVM) code to a simple register code. We describe the translation process, the complicated parts of the JVM which make translation more difficult, and the optimisations needed to eliminate copy instructions. Experimental results show that a register format reduces the number of executed instructions by 34.88%, while increasing the number of bytecode loads by an average of 44.81%. Overall, this corresponds to an increase of 2.32 loads for each dispatch removed. We believe that the high cost of dispatches makes register machines attractive even at the cost of increased loads.
机译:虚拟机(VM)是语言实现者的流行目标。传统观点告诉我们,由于操作数的位置隐含在堆栈指针中,因此可以使用解释器更有效地实现虚拟堆栈体系结构。相反,必须明确指定寄存器机器指令的操作数。在本文中,我们提供了一个用于将基于堆栈的Java虚拟机(JVM)代码转换为简单注册代码的工作系统。我们描述了翻译过程,JVM的复杂部分(使翻译更加困难)以及消除复制指令所需的优化。实验结果表明,寄存器格式使执行指令的数量减少了34.88%,而字节码加载的数量平均增加了44.81%。总体而言,这对应于每个已删除的调度增加2.32负载。我们认为,即使以增加负荷为代价,高昂的派遣成本也使套准机具有吸引力。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号