Eliminating Exception Constraints of Java Programs for IA-64

  • Authors:
  • Kazuaki Ishizaki;Tatsushi Inagaki;Hideaki Komatsu;Toshio Nakatani

  • Affiliations:
  • -;-;-;-

  • Venue:
  • Proceedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Java exception checks are designed to ensure that any faulting instruction causing a hardware exception does not terminate the program abnormally. These checks, however, impose some constraints upon the execution order between an instruction potentially raising a Java exception and a faulting instruction causing a hardware exception. This reduces theeffectiveness of instruction reordering optimization. We propose a new framework to effectively perform speculation for the Java language using a direct acyclic graph representation based on the SSA form. Using this framework, we apply a well-known speculation technique to a faulting load instruction to eliminate such constraints. We use edges to represent exception constraints. This allows us to accurately estimate the potential reduction of the critical path length for applying speculation. We also propose an approach to avoid extra copy instructions and to generate efficient code with minimum register pressure. We have implemented the technique in the IBM Java Just-In-Time compiler, and observed performance improvements up to 25% for micro-benchmark programs, up to 10% for Java Grande Benchmark Suite, and up to 12% for SPECjvm98 on an Itanium processor.