基于JIT的嵌入式JS引擎优化技术的研究
【摘要】:
JavaScript在Web中得到了广泛应用,提高JavaScript程序的处理能力显得尤为紧迫,由此看来提高JS引擎的性能对JavaScript的发展将有重要意义。针对嵌入式平台多样性和硬件复杂性的特点,开发可配置的JS引擎对提高嵌入式浏览器的适应性更加重要。
本文充分分析了嵌入式JS引擎的特点,设计了可配置的JIT优化方法,并且就如何提高JS引擎的性能进行了深入研究。本文首先阐述了JS引擎的发展现状,研究了当前主流JS引擎优化技术,重点介绍了JIT(Just-In-Time即时编译)优化技术。然后分析了某商用嵌入式JS引擎的特点,讨论了通过添加JIT模块来提高该JS引擎性能的优化方法。针对嵌入式环境特点和该JS引擎特殊的多层结构,本文把JIT模块划分为热区监测器,热区记录器和热区编译器,并对各个子模块的工作流程及关键部分的实现进行了详细的描述。在选择热区的算法中,通过复合使用基于Trace和基于函数的优化技术,并提供相关的优化参数,提高了嵌入式浏览器的适应性。在管理优化函数编译结果时,使用基于双链表的最近最少使用算法,提高了内存空间的使用率。最后,本文对优化前后的JS引擎的性能进行了分析与对比。结果表明,优化后的JS引擎在处理优化空间较大的JavaScript代码时,其性能有了大幅的提高。
目前,本文所提到的JS引擎优化工作已经完成,客户对其性能进行测试后表明,其性能和适应性都得到了很大的提高。