摘要 | 第5-6页 |
Abstract | 第6-7页 |
第1章 绪论 | 第14-22页 |
1.1 研究背景 | 第14页 |
1.2 相关工作 | 第14-19页 |
1.2.1 提高类型可预测性 | 第15-16页 |
1.2.2 Profiler设计 | 第16-17页 |
1.2.3 离线profile的使用 | 第17-19页 |
1.2.4 程序模式分析 | 第19页 |
1.3 研究内容 | 第19-20页 |
1.4 论文组织 | 第20-22页 |
第2章 问题阐述与分析 | 第22-44页 |
2.1 本章概述 | 第22页 |
2.2 JavaScript语言简介 | 第22-26页 |
2.3 V8简介 | 第26-30页 |
2.3.1 关键技术 | 第26-30页 |
2.4 场景分析 | 第30-42页 |
2.4.1 Deoptimization模式分析 | 第30-39页 |
2.4.2 程序点变量的类型集合分析 | 第39-42页 |
2.5 本章小结 | 第42-44页 |
第3章 基于离线profile方案的设计 | 第44-64页 |
3.1 难点分析 | 第44-45页 |
3.2 系统设计 | 第45页 |
3.3 插桩和Profiling阶段 | 第45-52页 |
3.3.1 捕获Hidden Class | 第46-49页 |
3.3.2 识别程序点 | 第49-51页 |
3.3.3 记录属性访问点信息 | 第51-52页 |
3.4 生成属性调整参照 | 第52-55页 |
3.4.1 统一属性偏移 | 第52-53页 |
3.4.2 记录格式 | 第53-55页 |
3.5 优化阶段 | 第55-63页 |
3.5.1 调整对象布局 | 第55-59页 |
3.5.2 标注公共属性特征 | 第59-60页 |
3.5.3 消除部分Inline Cache Miss | 第60-62页 |
3.5.4 消除部分Deoptimization | 第62-63页 |
3.6 本章小结 | 第63-64页 |
第4章 优化结果评估 | 第64-72页 |
4.1 时间性能分析 | 第64-68页 |
4.1.1 Octane分析 | 第65-67页 |
4.1.2 JSBench分析 | 第67-68页 |
4.2 对类型可预测性的影响 | 第68-70页 |
4.3 空间性能分析 | 第70-71页 |
4.4 本章小结 | 第71-72页 |
第5章 总结与展望 | 第72-74页 |
参考文献 | 第74-78页 |
致谢 | 第78-80页 |
在读期间发表的学术论文与取得的研究成果 | 第80页 |