Array bounds check elimination for the Java HotSpot#8482; client compiler
Thomas Würthinger, Christian L. Wimmer, Hanspeter Mössenböck · 2007
Whenever an array element is accessed, Java virtual machines execute a compare instruction to ensure that the index value is within the valid bounds. This reduces the execution speed of Java programs. Array bounds check elimination identifies situations in which such checks are redundant and can be removed. We present an array bounds check elimination algorithm for the Java HotSpot™ VM based on static analysis in the just-in-time compiler.