Low cost array bounds checking for 64-bit architectures
Abstract (Summary)Several programming languages guarantee that array subscripts are checked to ensure they are within the bounds of the array. While this guarantee improves the correctness and security of array-based code, it adds overhead to array references. This performance limitation is a significant obstacle preventing the scientific community from adopting compiler-enforced array bounds checks. To reduce the overhead, we have created an abstraction that called Index Confinement Regions (ICRs). The basic idea is to place an array into a very large virtual memory region, such that any reference to the array is confined to the region. Only the portion of the ICR corresponding to the array is permissible to access. ICRs reduce the number of necessary bounds checks for n-dimensional array access from 2n to 1 for C, and from n to 0 for Java, yielding a significant reduction in execution time for array-intensive applications.
School:The University of Georgia
School Location:USA - Georgia
Source Type:Master's Thesis
Date of Publication: