作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2007, Vol. 33 ›› Issue (15): 3-6. doi: 10.3969/j.issn.1000-3428.2007.15.002

• 博士论文 • 上一篇    下一篇

即时编译器中的轻量级指令调度算法

史晓华1,刘 超1,金茂忠1,郭 鹏2   

  1. (1. 北京航空航天大学软件工程研究所,北京 100083;2. 英特尔微处理器研究院,北京 100086)
  • 收稿日期:1900-01-01 修回日期:1900-01-01 出版日期:2007-08-05 发布日期:2007-08-05

Lightweight Instruction Scheduling Algorithm for Just-in-time Compiler

SHI Xiao-hua1, LIU Chao1, JIN Mao-zhong1, GUO Peng2   

  1. (1. Software Engineering Institute, Beijing University of Aeronautics and Astronautics, Beijing 100083; 2. Intel Microprocessor Technology Labs, Beijing 100086)
  • Received:1900-01-01 Revised:1900-01-01 Online:2007-08-05 Published:2007-08-05

摘要: 介绍了一种为即时编译器和时空受限系统设计的轻量级线性复杂指令调度算法。该算法进行指令调度时,不基于传统的DAG图或表达式树,而是基于一种独创的数据结构扩展关联矩阵,其时间复杂性在最坏情况下也能与全部指令长度构成严格的线性关系,仅占用不到1 KB的内存空间。该算法已被Intel为Xscale设计的高性能J2ME虚拟机XORP采用为即时编辑器中的缺省指令调度算法。

关键词: 指令调度, 即时编译器, Java虚拟机

Abstract: This paper presents a novel lightweight algorithm of instruction scheduling for reducing the pipeline stalls on RISC micro-architecture with super pipelines. The algorithm is designed for and implemented in a J2ME JIT(just-in-time) compiler in memory constraint and time critical system. It is not based on DAG(directed acyclic graphs) or expression trees, but a novel data structure, namely EDM(extended dependency matrix). The algorithm has strict linear time complexity to the code length in the worst cases. It consumes only about 1KB constant memory space, to fit the small memory footprint for J2ME configurations. This algorithm has been chosen as the default instruction scheduling solution in the JIT compiler by Intel’s high-performance J2ME JVM, namely XORP.

Key words: instruction scheduling, just-in-time compiler, Java virtual machine

中图分类号: