Efficient virtual machine support of runtime structural reflection

Efficient virtual machine support of runtime structural reflection
复制标题

DOI:
10.1016/j.scico.2009.04.001
复制
发表时间:
2009-08-15
影响因子:
1.3
通讯作者:
Garcia Perez-Schofield, J. Baltasar
Garcia Perez-Schofield, J. Baltasar
中科院分区:
计算机科学4区
文献类型:
--
作者:
Ortin, Francisco;Redondo, Jose Manuel;Garcia Perez-Schofield, J. Baltasar

文献摘要

被引文献

相似文献

自适应、分布式、生成式和普及软件的发展趋势使得面向对象的动态类型语言变得越来越流行。这些语言通过反射的方式提供动态软件演化,促进动态系统的开发。不幸的是,这种动态通常会带来运行时性能损失。在本文中,我们描述了如何扩展生产 JIT 编译器虚拟机以支持许多动态语言提供的运行时面向对象结构反射。我们的方法提高了在静态类型虚拟机上运行的动态语言的运行时性能。同时,虚拟机仍然支持现有的静态类型语言。我们通过运行时结构反射扩展了 NET 平台,将基于原型的面向对象语义添加到 NET 的静态类型基于类的模型中,支持两种编程语言。对运行时性能和内存消耗的评估表明,为静态类型语言设计的基于 JIT 的生产虚拟机中对结构反射的直接支持为动态类型语言提供了显着的性能改进。 (C) 2009 Elsevier B.V. 保留所有权利。
Increasing trends towards adaptive, distributed, generative and pervasive software have made object-oriented dynamically typed languages become increasingly popular. These languages offer dynamic software evolution by means of reflection, facilitating the development of dynamic systems. Unfortunately, this dynamism commonly imposes a runtime performance penalty. In this paper, we describe how to extend a production JIT-compiler virtual machine to support runtime object-oriented structural reflection offered by many dynamic languages. Our approach improves runtime performance of dynamic languages running on statically typed virtual machines. At the same time, existing statically typed languages are still supported by the virtual machine.We have extended the NET platform with runtime structural reflection adding prototype-based object-oriented semantics to the statically typed class-based model of NET, supporting both kinds of programming languages. The assessment of runtime performance and memory consumption has revealed that a direct support of structural reflection in a production JIT-based virtual machine designed for statically typed languages provides a significant performance improvement for dynamically typed languages. (C) 2009 Elsevier B.V. All rights reserved.