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.
Bibliographical Information:
Advisor:
School:The University of Georgia
School Location:USA - Georgia
Source Type:Master's Thesis
Keywords:
ISBN:
Date of Publication: