• DocumentCode
    2705248
  • Title

    Sentinel PRE: hoisting beyond exception dependency with dynamic deoptimization

  • Author

    Odaira, Rei ; Hiraki, Kei

  • Author_Institution
    Tokyo Univ., Japan
  • fYear
    2005
  • fDate
    20-23 March 2005
  • Firstpage
    328
  • Lastpage
    338
  • Abstract
    Many excepting instructions cannot be removed by existing partial redundancy elimination (PRE) algorithms because the ordering constraints must be preserved between the excepting instructions, which we call exception dependencies. In this work, we propose Sentinel PRE, a PRE algorithm that overcomes exception dependencies and retains program semantics. Sentinel PRE first hoists excepting instructions without considering exception dependencies, and then detects exception reordering by fast analysis. If an exception occurs at a reordered instruction, it deoptimizes the code into the one before hoisting. Since we rarely encounter exceptions in real programs, the optimized code is executed in almost all cases. We implemented Sentinel PRE in a Java just-in-time compiler and conducted experiments. The results show 9.0% performance improvement in the LU program in the Java Grande Forum Benchmark Suite.
  • Keywords
    Java; exception handling; optimising compilers; partial evaluation (compilers); redundancy; Java Grande Forum Benchmark Suite; Java just-in-time compiler; Sentinel PRE algorithms; dynamic deoptimization; exception dependency; partial redundancy elimination algorithm; program semantics; Degradation; Java; Optimizing compilers; Redundancy; Robustness; Runtime environment;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization, 2005. CGO 2005. International Symposium on
  • Print_ISBN
    0-7695-2298-X
  • Type

    conf

  • DOI
    10.1109/CGO.2005.32
  • Filename
    1402099