APP下载

基于Trace合并和寄存器分配的Dalvik优化

2014-06-07余超君李春强尚云海张培勇

计算机工程 2014年10期
关键词:嵌入式指令分配

余超君,李春强,尚云海,张培勇

(浙江大学超大规模集成电路设计研究所,杭州310027)

基于Trace合并和寄存器分配的Dalvik优化

余超君,李春强,尚云海,张培勇

(浙江大学超大规模集成电路设计研究所,杭州310027)

Dalvik虚拟机作为Android系统上运行所有应用程序的基础,其性能瓶颈一直制约着Android系统的用户体验。通过研究Android系统中的Dalvik架构,分析其解释器和JIT模块的工作原理,发现热Trace选择过程中短Trace编译损耗大以及即时编译过程中寄存器分配不合理的情况。结合Java虚拟机技术和编译器技术,在现有热Trace选择和寄存器分配机制的基础上,提出基于Trace合并和寄存器分配的优化算法,在国产高性能嵌入式CPU CSKY体系下移植Dalvik虚拟机并实现了上述优化算法。通过实验证明优化后Dalvik执行Java程序的性能提高了近10%。

Dalvik虚拟机;JIT技术;性能优化;Trace合并;寄存器分配;生命周期

1 概述

Android是Google公司针对嵌入式领域推出的操作系统,其Java虚拟机采用Dalvik VM。与PC机Java虚拟机相比,Dalvik针对内存和处理器速度有限的嵌入式设备进行优化,使其占用更少内存等硬件资源,运行效率更高。Dalvik工作于解释执行模式,并根据运行情况通过基于Trace的JIT(Just in Time)技术将热点代码块编译成本地机器代码并执行以加快程序运行[1]。

虽然基于Trace的JIT技术的Dalvik虚拟机提高了Java程序运行速度,但其Dalvik虚拟机的性能仍是Android系统运行速度的瓶颈。笔者在移植Dalvik到国产嵌入式CPU C-SKY平台的过程中,通过对基于Trace的JIT技术的Dalvik虚拟机研究,发现Dalvik现阶段基于Trace的JIT技术存在如下问题:(1)Hot-Trace的某些热点代码块短……

登录APP查看全文

猜你喜欢

嵌入式指令分配
听我指令:大催眠术
应答器THR和TFFR分配及SIL等级探讨
遗产的分配
一种分配十分不均的财富
ARINC661显控指令快速验证方法
绩效考核分配的实践与思考
LED照明产品欧盟ErP指令要求解读
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
Altera加入嵌入式视觉联盟