用代码缓存复用技术提升Android即时编译器效率
摘要 | 第5-7页 |
Abstract | 第7-8页 |
图目 | 第9-10页 |
表目 | 第10-11页 |
第1章 绪论 | 第11-15页 |
1.1 研究背景 | 第11页 |
1.2 研究现状 | 第11-12页 |
1.3 本文工作与贡献 | 第12-13页 |
1.4 本文组织结构 | 第13-15页 |
第2章 背景知识与相关技术 | 第15-20页 |
2.1 Dalvik虚拟机 | 第15-17页 |
2.2 Swift即时编译器 | 第17-18页 |
2.3 代码缓存复用技术与位置无关代码 | 第18-20页 |
第3章 设计与实现 | 第20-45页 |
3.1 系统整体架构 | 第20-21页 |
3.2 生成位置无关代码 | 第21-35页 |
3.2.1 代码中的位置依赖 | 第21-22页 |
3.2.2 消除位置依赖的算法 | 第22-33页 |
3.2.3 位置无关代码的布局设计 | 第33页 |
3.2.4 PIC生成器在Swift中的实现 | 第33-35页 |
3.3 管理位置无关代码 | 第35-45页 |
3.3.1 CCF文件格式及其组织方式 | 第36-38页 |
3.3.2 缓存PIC与复用CCF | 第38-45页 |
第4章 实验与分析 | 第45-58页 |
4.1 实验方法 | 第45-46页 |
4.2 实验环境 | 第46-48页 |
4.2.1 硬件平台 | 第46-47页 |
4.2.2 测试程序与环境配置 | 第47-48页 |
4.3 实验内容 | 第48-55页 |
4.3.1 程序总体性能 | 第48-53页 |
4.3.2 可执行代码的增长 | 第53-54页 |
4.3.3 缓存文件存储空间大小 | 第54-55页 |
4.4 局限性分析 | 第55-58页 |
4.4.1 编译粒度造成的低效问题 | 第55-56页 |
4.4.2 对代码卸载功能的依赖问题 | 第56-58页 |
第5章 总结与未来工作 | 第58-59页 |
5.1 总结 | 第58页 |
5.2 未来工作 | 第58-59页 |
参考文献 | 第59-62页 |
攻读硕士学位期间的成果 | 第62-63页 |
致谢 | 第63-64页 |