首页> 外文期刊>ACM SIGPLAN Notices: A Monthly Publication of the Special Interest Group on Programming Languages >Optimization of dynamic languages using hierarchical layering of virtual machines
【24h】

Optimization of dynamic languages using hierarchical layering of virtual machines

机译:使用虚拟机的分层结构优化动态语言

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

摘要

Creating an interpreter is a simple and fast way to implement a dynamic programming language. With this ease also come major drawbacks. Interpreters are significantly slower than compiled machine code because they have a high dispatch overhead and cannot perform optimizations. To overcome these limitations, interpreters are commonly combined with just-in-time compilers to improve the overall performance. However, this means that a just-in-time compiler has to be implemented for each language. We explore the approach of taking an interpreter of a dynamic language and running it on top of an optimizing trace-based virtual machine, i.e., we run a guest VM on top of a host VM. The host VM uses trace recording to observe the guest VM executing the application program. Each recorded trace represents a sequence of guest VM bytecodes corresponding to a given execution path through the application program. The host VM optimizes and compiles these traces to machine code, thus eliminating the need for a custom just-in-time compiler for the guest VM. The guest VM only needs to provide basic information about its interpreter loop to the host VM.
机译:创建解释器是实现动态编程语言的一种简单快捷的方法。这种轻松也带来了主要的缺点。解释程序比已编译的机器代码慢得多,因为它们具有较高的调度开销,并且无法执行优化。为了克服这些限制,通常将解释器与即时编译器结合使用以提高整体性能。但是,这意味着必须为每种语言实现即时编译器。我们探索采用一种动态语言的解释器并将其运行在基于优化跟踪的虚拟机之上的方法,即我们在主机VM之上运行来宾VM。主机VM使用跟踪记录来观察来宾VM执行应用程序。每个记录的跟踪代表与通过应用程序的给定执行路径相对应的来宾VM字节码序列。主机VM将这些跟踪优化并编译为机器代码,从而无需为来宾VM定制自定义的即时编译器。来宾VM仅需要向主机VM提供有关其解释器循环的基本信息。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号