
论文摘要
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引擎优化工作已经完成,客户对其性能进行测试后表明,其性能和适应性都得到了很大的提高。
论文目录
中文摘要ABSTRACT第一章 绪论1.1 研究背景及意义1.1.1 互联网的发展对JavaScript的要求1.1.2 JS引擎的发展与现状1.1.3 JS引擎在嵌入式浏览器中的地位1.2 选题背景及主要工作1.3 论文组织结构第二章 相关技术研究2.1 JavaScript与Java2.2 嵌入式操作系统2.3 嵌入式浏览器2.3.1 嵌入式浏览器的工作原理2.3.2 浏览器处理流程2.4 JS引擎优化技术2.4.1 JIT技术基本原理2.4.2 基于Trace的 JIT2.4.3 基于函数的 JIT2.5 跨平台C++库Nanojit第三章 JIT模块总体设计3.1 总体设计3.1.1 设计目标3.1.2 JIT模块总体结构设计3.1.3 JIT模块运行状态转换3.2 热区监测器3.2.1 热区监测器功能3.2.2 发现Trace3.2.3 发现优化函数3.2.4 可配置的优化参数3.3 热区记录器3.3.1 热区记录器功能3.3.2 热区记录器的记录过程3.4 热区编译器3.5 开发工具和运行环境第四章 热区监测器与热区编译器的设计与实现4.1 热区监测器的设计与实现4.1.1 热区监测器工作流程4.1.2 数据结构设计4.1.3 管理潜在循环头4.1.4 识别循环头4.1.5 识别优化函数4.2 热区编译器的设计与实现4.2.1 热区编译器的工作流程4.2.2 生成本地机器代码4.2.3 管理优化函数编译结果4.3 执行本地机器代码第五章 热区记录器的设计与实现5.1 热区记录器工作流程5.2 数据结构设计5.3 记录Trace Tree5.3.1 设置记录标志5.3.2 生成LIR指令5.3.3 守卫指令5.3.4 同步变量值5.3.5 停止记录5.4 其它关键问题5.4.1 扩展Trace Tree5.4.2 嵌套循环5.4.3 普通函数5.5 记录优化函数5.5.1 记录优化函数流程5.5.2 优化函数的参数第六章 KES性能分析6.1 测试目的与方法6.2 测试与性能分析6.3 优化结论第七章 总结与展望参考文献发表论文和参加科研情况说明致谢
相关论文文献
标签:引擎论文; 嵌入式浏览器论文; 优化函数论文;