论文部分内容阅读
针对静态竞争检测无额外运行开销但精度低,而动态竞争检测精度高但因插桩有额外运行开销,在实际Java虚拟机的即时编译器中以竞争检测遍形式设计实现了一种精确有效的增量式竞争检测算法.结合锁集和发生序关系,依次对即时编译的每个方法进行一次方法内分析,收集独立于上下文的方法摘要,并以方法摘要为基础自下而上进行上下文敏感的跨线程方法间分析,增量计算并及时输出潜在的竞争信息.实验表明,算法对应用程序无插桩且不受程序规模限制,具有与O’Callahan等人的动态竞争检测算法类似的精度,检测时间仅占总编译时间的2%~4%