Precise Exception Semantics in Dynamic Compilation

  • Michael Gschwind
  • Erik Altman
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2304)


Maintaining precise exceptions is an important aspect of achieving full compatibility with a legacy architecture. While asynchronous exceptions can be deferred to an appropriate boundary in the code, synchronous exceptions must be taken when they occur. This introduces uncertainty into liveness analysis since processor state that is otherwise dead may be exposed when an exception handler is invoked. Previous systems either had to sacrifice full compatibility to achieve more freedom to perform optimization, use less aggressive optimization or rely on hardware support.

In this work, we demonstrate how aggressive optimization can be used in conjunction with dynamic compilation without the need for specialized hardware. The approach is based on maintaining enough state to recompute the processor state when an unpredicted event such as a synchronous exception may make otherwise dead processor state visible. The transformations necessary to preserve precise exception capability can be performed in linear time.


Dynamic Optimization Exception Handler Register Allocation Binary Translation Full Compatibility 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    E. Altman and K. Ebcioğlu. Simulation and debugging of full system binary translation. In Proc. of the 13th International Conference on Parallel and Distributed Computing Systems, pages 446–453, Las Vegas, NV, August 2000.Google Scholar
  2. 2.
    E. Altman, K. Ebcioğlu, M. Gschwind, and S. Sathaye. Efficient instruction scheduling with precise exceptions. In preparation.Google Scholar
  3. 3.
    V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: A transparent Dynamic Optimization System. SIGPLAN PLDI, pages 1–12, June 18–21, 2000, Vancouver, BC, June 2000.Google Scholar
  4. 4.
    V. Bala, E. Duesterwald, and S. Banerjia. Transparent dynamic optimization: The design and implementation of Dynamo. Technical Report 99–78, HP Laboratories, Cambridge, MA, June 1999.Google Scholar
  5. 5.
    H. Chung, S.-M. Moon, and K. Ebcioğlu. Using value locality on VLIW machines through dynamic compilation. In Proc. of the 1999 Workshop on Binary Translation, IEEE Computer Society Technical Committee on Computer Architecture Newsletter, pages 69–76, December 1999.Google Scholar
  6. 6.
    K. Ebcioğlu and E. Altman. DAISY: dynamic compilation for 100% architectural compatibility. In Proc. of the 24th Annual International Symposium on Computer Architecture, pages 26–37, Denver, CO, June 1997. ACM.Google Scholar
  7. 7.
    K. Ebcioğlu and E. Altman. DAISY: dynamic compilation for 100% architectural compatibility. Research Report RC20538, IBM T. J. Watson Research Center, Yorktown Heights, NY, 1996.Google Scholar
  8. 8.
    K. Ebcioğlu, E. Altman, S. Sathaye, and M. Gschwind. Execution-based scheduling for VLIW architectures. In Euro-Par’ 99 Parallel Processing-5th International Euro-Par Conference, number 1685 in Lecture Notes in Computer Science, pages 1269–1280. Springer Verlag, Berlin, Germany, August 1999.Google Scholar
  9. 9.
    K. Ebcioğlu, R. Groves, K. Kim, and G. Silberman. VLIW compilation techniques in a superscalar environment. In Proc. of the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation, volume 29 of SIGPLAN Notices, pages 36–48, Orlando, FL, June 1994. ACM.CrossRefGoogle Scholar
  10. 10.
    M. Gschwind, E. Altman, S. Sathaye, P. Ledak, and D. Appenzeller. Dynamic and transparent binary translation. IEEE Computer, 33(3):54–59, March 2000.Google Scholar
  11. 11.
    M. Gschwind, K. Ebcioğlu, E. Altman, and S. Sathaye. Binary translation and architecture convergence issues for IBM System/390. In Proc. of the International Conference on Supercomputing 2000, Santa Fe, NM, May 2000. ACM.Google Scholar
  12. 12.
    J. Hennessey. Symbolic Debugging of Optimized Code. ACM Transactions on Programming Languages and Systems, July 1982, Volume 4, Issue 3, pages 323–344, ACM Press.CrossRefGoogle Scholar
  13. 13.
    P. Hohensee, M. Myszewski, and D. Reese. WABI CPU emulation. In Hot Chips VIII, Palo Alto, CA, 1996.Google Scholar
  14. 14.
    E. Kelly, R. Cmelik, and M. Wing. Memory controller for a microprocessor for detecting a failure of speculation on the physical nature of a component being addressed. US Patent 5832205, November 1998.Google Scholar
  15. 15.
    B. Le. An out of order execution technique for runtime binary translators. In Proc. of the Eighth International Conference on Architectural Support for Programming Languages and Operating Systems, volume 33 of SIGPLAN Notices, pages 151–158, San Jose, CA, 1998. ACM.CrossRefGoogle Scholar
  16. 16.
    S. Sathaye, P. Ledak, J. LeBlanc, S. Kosonocky, M. Gschwind, J. Fritts, Z. Filan, A. Bright, D. Appenzeller, E. Altman, and C. Agricola. BOA: Targeting multigigahertz with binary translation. In Proc. of the 1999 Workshop on Binary Translation, IEEE Computer Society Technical Committee on Computer Architecture Newsletter, pages 2–11, December 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Michael Gschwind
    • 1
  • Erik Altman
    • 1
  1. 1.IBM T.J. Watson Research CenterYorktown Heights

Personalised recommendations