Java程序优化与数据竞争检测的研究
目录 | 第1-6页 |
表目录 | 第6-7页 |
图目录 | 第7-9页 |
摘要 | 第9-11页 |
ABSTRACT | 第11-13页 |
第一章 绪论 | 第13-26页 |
·静态优化与动态优化 | 第13-17页 |
·Java的即时编译优化 | 第14-16页 |
·Java的静态编译优化 | 第16-17页 |
·数据竞争 | 第17-18页 |
·本文研究内容 | 第18-19页 |
·研究平台 | 第19-25页 |
·Open64编译器 | 第19-23页 |
·Harmony DRLVM虚拟机 | 第23-25页 |
·论文的结构安排 | 第25-26页 |
第二章 JAVA静态编译器OPENCJ | 第26-59页 |
·引言 | 第26-27页 |
·Opencj优化编译器 | 第27-28页 |
·Java异常处理 | 第28-44页 |
·Java语言规范中的异常 | 第28-29页 |
·Java异常处理形式 | 第29-30页 |
·Java异常处理流程 | 第30-31页 |
·栈展开与栈切换 | 第31-33页 |
·Opencj中Java异常处理算法 | 第33-42页 |
·构建异常处理控制流 | 第42-44页 |
·针对Java特性的优化 | 第44-52页 |
·虚函数调用恢复 | 第44-46页 |
·冗余同步删除 | 第46-50页 |
·对象内联 | 第50-52页 |
·性能比较 | 第52-57页 |
·静态优化与动态优化的性能比较 | 第54-56页 |
·Java与C程序性能比较 | 第56-57页 |
·相关工作 | 第57-58页 |
·本章小结 | 第58-59页 |
第三章 WHIRL SSA优化结构 | 第59-70页 |
·引言 | 第59-61页 |
·WHIRL SSA总体架构 | 第61-65页 |
·WHIRL SSA表示 | 第62-63页 |
·WHIRL SSA DU/UD管理模块 | 第63-64页 |
·WHIRL SSA符号表 | 第64页 |
·兼容性 | 第64-65页 |
·phi节点的插入 | 第65-66页 |
·WHIRL SSA更新 | 第66-67页 |
·WHIRL SSA验证 | 第67页 |
·WHIRL SSA实例 | 第67-68页 |
·基于WHIRL SSA的优化机会 | 第68页 |
·相关工作 | 第68-69页 |
·本章小结 | 第69-70页 |
第四章 数组边界冗余检查删除 | 第70-85页 |
·引言 | 第70-71页 |
·构建不等式图 | 第71-79页 |
·遍历数组下标相关变量集 | 第72-73页 |
·构建不等式图 | 第73-75页 |
·产生数组下标取值信息 | 第75-79页 |
·识别冗余类型 | 第79-81页 |
·完全冗余边界检查 | 第79-80页 |
·部分冗余边界检查 | 第80-81页 |
·删除冗余的数组边界检查 | 第81-82页 |
·完全冗余的删除 | 第81页 |
·部分冗余的删除 | 第81-82页 |
·性能评估 | 第82-83页 |
·数组边界检查的删除 | 第82页 |
·程序性能测试 | 第82-83页 |
·相关工作 | 第83-84页 |
·本章小结 | 第84-85页 |
第五章 动态数据竞争检测 | 第85-101页 |
·引言 | 第85-87页 |
·动态数据竞争检测技术 | 第87-90页 |
·基于锁集合的检测技术 | 第87-89页 |
·Happens-before的数据竞争检测 | 第89-90页 |
·三层粒度的数据竞争检测 | 第90-92页 |
·三层检测粒度 | 第90页 |
·算法描述 | 第90-92页 |
·实现 | 第92-96页 |
·向量时钟 | 第92-93页 |
·垃圾回收模块 | 第93-95页 |
·对象拥有关系树 | 第95-96页 |
·相关工作 | 第96-97页 |
·性能测试 | 第97-99页 |
·运行性能 | 第98页 |
·检测精度 | 第98-99页 |
·本章小结 | 第99-101页 |
第六章 结论与未来工作 | 第101-106页 |
·动静态结合的优化架构 | 第101-103页 |
·论文的贡献及创新点 | 第103-104页 |
·进一步研究工作 | 第104-106页 |
参考文献 | 第106-118页 |
作者简历攻读博士学位期间完成的主要工作 | 第118-119页 |
致谢 | 第119-120页 |