DocumentCode
3121908
Title
Array Bounds Check Elimination for Java Based on Sparse Representation
Author
Yang, Keqiao ; Huang, Zeng ; Yang, Min
Author_Institution
Parallel Process. Inst., Fudan Univ., Shanghai, China
fYear
2009
fDate
2-4 Dec. 2009
Firstpage
189
Lastpage
196
Abstract
As a type-safe program language, Java requires bounds checks of array accesses. Whenever an array element is accessed, a cmp (compare) instruction is executed to check whether the index value is within the valid bounds. Array bounds checks may prevent many useful optimizations because of precise exception. We present a new ABCE (array bounds check elimination) algorithm to eliminate redundant checks based on sparse representation for a Java static compiler. In contrast to other approaches performing in JVMs, we adhere to the design principle of the static compiler to optimize scientific Java applications. The algorithm is a light-weight algorithm working on an intermediate representation in static single assignment form. It fully removes bounds checks if it can be proven that they never fail. Whenever possible, it moves bounds checks out of loops to reduce the total number of executed checks. If such a check fails, the executing program branches into the unmodified loop to preserve the exception semantics of Java. For the scientific SciMark 2.0 benchmark suite, this algorithm removes on average 76% of bounds check instructions. The evaluation shows a speedup near to the theoretical maximum for LU test case.
Keywords
Java; data flow analysis; program compilers; Java static compiler; SciMark benchmark suite; array bounds check elimination algorithm; light-weight algorithm; redundant checks; scientific Java applications; sparse representation; static single assignment form; type-safe program language; Application software; Conference management; Design optimization; Engineering management; Java; Parallel processing; Partial response channels; Phased arrays; Runtime; Software engineering; Java; array bounds check elimination; optimization; performance;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering Research, Management and Applications, 2009. SERA '09. 7th ACIS International Conference on
Conference_Location
Haikou
Print_ISBN
978-0-7695-3903-4
Type
conf
DOI
10.1109/SERA.2009.11
Filename
5381765
Link To Document