Optimizing an ANSI C interpreter with superoperators

Optimizing an ANSI C interpreter with superoperators
复制标题

使用超级运算符优化 ANSI C 解释器

DOI:
10.1145/199448.199526
复制
发表时间:
1995
期刊:
ACM Trans. Archit. Code Optim.
影响因子:
--
通讯作者:
Todd A. Proebsting
Todd A. Proebsting
中科院分区:
--
文献类型:
--
作者:
Todd A. Proebsting

文献摘要

被引文献

相似文献

本文介绍了超级操作器,这是一种针对副本解释者的优化技术。超级操作器是虚拟机操作,从较小的操作中自动合成,以避免代价高昂的供应开销。超级操作员降低了可执行的大小,并且可以使解释程序的速度加倍或三倍。本文描述了一种简单有效的启发式方法,可从简单操作员的使用模式中推断出强大的超级操作者。 本文描述了采用超级操作器的混合翻译/解释器的设计和实现。从超级操作员的规范(自动推断或手动选择),系统可以在汇编语言中构建虚拟机的有效实现。该系统很容易重新定位,目前在MIPS R3000和SPARC上运行。
This paper introduces superoperators, an optimization technique for bytecoded interpreters. Superoperators are virtual machine operations automatically synthesized from smaller operations to avoid costly per-operation overheads. Superoperators decrease executable size and can double or triple the speed of interpreted programs. The paper describes a simple and effective heuristic for inferring powerful superoperators from the usage patterns of simple operators. The paper describes the design and implementation of a hybrid translator/interpreter that employs superoperators. From a specification of the superoperators (either automatically inferred or manually chosen), the system builds an efficient implementation of the virtual machine in assembly language. The system is easily retargetable and currently runs on the MIPS R3000 and the SPARC.