1. Efficient exception handling in Java bytecode-to-c ahead-of-time compiler for smbedded systems
- Author
-
Jaemok Lee, Dong-Heon Jung, Soo-Mook Moon, Jong Kuk Park, and Sung-Hwan Bae
- Subjects
Java ,Call stack ,Computer science ,Programming language ,Exception handling ,Java bytecode ,computer.software_genre ,Bytecode ,Operating system ,Compiler ,computer ,Java applet ,computer.programming_language ,Java Modeling Language - Abstract
One of the most promising approaches to Java acceleration in embedded systems is a bytecode-to-C ahead-of-time compiler (AOTC). It improves the performance of a Java virtual machine (JVM) by translating bytecode into C code, which is then compiled into machine code via an existing C compiler. One important design issue in AOTC is efficient exception handling. Since the excepting point and the exception handler may locate in different methods on a call stack, control transfer between them should be streamlined, while an exception would be an "exceptional" event, so it should not slow down normal execution paths. Previous AOTCs often employed stack cutting based on a setjmp()/longjmp(), which we found is involved with too much overheads. This paper proposes a simpler solution based on an exception check after each method call, merged with garbage collection check for reducing its overhead. Our evaluation results on SPECjvm98 on Sun's CVM indicate that our technique can improve the performance of stack cutting by more than 25%.
- Published
- 2006
- Full Text
- View/download PDF