Elimination of Java array bounds checks in the presence of indirection

Mikel Luján, John R. Gurd, T. L. Freeman, Jose Lorenzo San Miguel · 2002

The Java language specification states that every access to an array needs to be within the bounds of that array; i.e. between 0 and length - 1. Different techniques for different programming languages have been proposed to eliminate explicit bounds checks. Some of these techniques are implemented in off-the-self Java Virtual Machines (JVMs). The underlying principle of these techniques is that bounds checks can be removed when a JVM/compiler has enough information to guarantee that a sequence of accesses (e.g. inside a for-loop) is safe (within the bounds). Most of the

Read the paper · More papers on PaperTik