Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Efficient Java exception handling in just-in-time compilation

Published: 01 December 2004 Publication History

Abstract

Java uses exceptions to provide elegant error handling capabilities during program execution. However, the presence of exception handlers complicates the job of the just-in-time (JIT) compiler, while exceptions are rarely used in most programs. This paper describes two techniques for reducing such complications. First, we delay the translation of an exception handler until the exception really occurs. This on-demand translation of exception handlers allows more optimizations when translating the main flow, without being hindered by constraints caused by the exception flows. Secondly, for those exceptions that are actually thrown during program execution we insert exception-type check code and a direct branch to the translated exception handlers. This exception handler prediction is motivated by an observation that frequently thrown exceptions are likely to be handled by the same exception handlers, so this will eliminate the exception processing overhead of the Java virtual machine. Our experiments indicate that the code quality of the main flow is no longer affected by the presence of exception handlers. Also, frequently thrown exceptions can be efficiently handled by the exception handler prediction. Copyright © 2004 John Wiley & Sons, Ltd.

Cited By

View all
  • (2016)Efficient asynchronous interrupt handling in a full-system instruction set simulatorACM SIGPLAN Notices10.1145/2980930.290795351:5(1-10)Online publication date: 13-Jun-2016
  • (2016)Efficient asynchronous interrupt handling in a full-system instruction set simulatorProceedings of the 17th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, Tools, and Theory for Embedded Systems10.1145/2907950.2907953(1-10)Online publication date: 13-Jun-2016
  • (2007)Efficient Register Mapping and Allocation in LaTTe, an Open-Source Java Just-in-Time CompilerIEEE Transactions on Parallel and Distributed Systems10.5555/1191546.119173318:1(57-69)Online publication date: 1-Jan-2007
  1. Efficient Java exception handling in just-in-time compilation

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Software
    Software  Volume 34, Issue 15
    Research Articles
    December 2004
    91 pages
    ISSN:0038-0644
    EISSN:1097-024X
    Issue’s Table of Contents

    Publisher

    John Wiley & Sons, Inc.

    United States

    Publication History

    Published: 01 December 2004

    Author Tags

    1. Java virtual machine
    2. exception handler prediction
    3. exception handling
    4. just-in-time compiler
    5. on-demand translation

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 26 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2016)Efficient asynchronous interrupt handling in a full-system instruction set simulatorACM SIGPLAN Notices10.1145/2980930.290795351:5(1-10)Online publication date: 13-Jun-2016
    • (2016)Efficient asynchronous interrupt handling in a full-system instruction set simulatorProceedings of the 17th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, Tools, and Theory for Embedded Systems10.1145/2907950.2907953(1-10)Online publication date: 13-Jun-2016
    • (2007)Efficient Register Mapping and Allocation in LaTTe, an Open-Source Java Just-in-Time CompilerIEEE Transactions on Parallel and Distributed Systems10.5555/1191546.119173318:1(57-69)Online publication date: 1-Jan-2007

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media