Towards array bound check elimination in Java TM virtual machine language

  • Authors:
  • Hongwei Xi;Songtao Xia

  • Affiliations:
  • Oregon Graduate Institute;Oregon Graduate Institute

  • Venue:
  • CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

In a standard Java implementation, a Java program is compiled into Java bytecode, which is then interpreted by Java virtual machine (JVM). We refer to the bytecode language as Java virtual machine language in this paper. for safety concerns, JVM performs run-time array bounds checking to detect out-of-bounds array access. Unfortunately, this practice can be prohibitively expensive in cases involving numerical computation.We propose a type-theoretic approach to eliminating run-time array bound checks in JVML and demonstrate that the property of safe array access can be readily captured with a restricted form of dependent type system and therefore enforced through type-checking. We focus on a language JVMLa, which is basically a subset of JVML with array access instructions, and prove that the execution of a well-typed JVMLa program can never cause memory violations.