摘要

作为一个类型安全的程序语言,Java要求对每次数组访问提供越界检查.这些检查指令减慢了Java程序的运行速度.算法ABCE维护着一张不等式图,并在图中不断更新记录变量的取值信息,然后根据这些信息识别出那些冗余的数组边界检查,最后删除它们,从而达到提高程序性能的目的.科学计算类测试集SciM ark2.0的测试表明ABCE算法平均删除了76%的越界检查指令,其中LU子程序,该算法的加速近似达到理论最大值.