当前位置:问答库>论文摘要

题目:基于逃逸分析的栈式分配优化研究与实现

关键词:逃逸分析;栈式分配;区域栈帧

  摘要

逃逸分析(Escape Analysis)是一种静态分析,用以确定数据的生存时间是否超过它的静态域的存在时间。栈式分配,是指通过逃逸分析,判断生存时间未超出其创建方法生存期的对象,将其分配在栈中,以提高虚拟机效率的优化方法。 Java虚拟机中,内存的分配与释放对整个程序的效率有决定性影响。本文对Java虚拟机中基于GC的内存管理进行了研究,基于semispace算法对原GC方式进行了调优。随后,本文对虚拟机中的栈式分配内存的方法进行了研究,创新性的提出以循环为最小单位进行栈式分配的策略,提出了区域栈帧的概念,降低了栈式分配算法的空间复杂度,提高了栈式分配对象的比率。本文在原数据流分析基础上,实现了基于循环的数据流分析方法,采用深度优先生成树算法,定位循环的入口点迭代点和出口点,插入栈式分配代码,实现了基于 逃逸分析的栈式分配框架。 本文实现的栈式分配框架可以应用于整个Java程序和Java库;在逃逸分析指导下的栈式分配,提高了Java程序的性能。本文应用SPECjvm98测试基准,在给出的测试用例中,栈式分配了8.3%--25%(平均15.16%)的对象。