用代码缓存复用技术提升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页 |