Efficient and Portable Implementation of Java-style Exception Handling in C
スポンサーリンク
概要
- 論文の詳細を見る
An important issue in implementing high-level programming languages for use by translators into C is how to support high-level language features not available in C. Java's exception handling is one such feature, and translating it into portable C, which only uses C-style control structures, involves some challenges. Previous studies have proposed ways of translating the Java-style try-catch construct into C. In this paper, we propose a new scheme for implementing it in an efficient and portable manner. We use our parallel language OPA, which is an extended Java language, and its translator. In our scheme, we do not use troublesome setjmp/longjmp routines for non-local jumps. Instead, we check the occurrences of exceptions using functions' return values. Java also has the try-finally construct, mainly used for cleaning up, which cannot be translated directly into C-style control structures. To implement it, we developed a new scheme with integer values corresponding to continuation targets. Compared with other techniques, ours has advantages in both the runtime overhead and the generated code size. For these two features, using some benchmark programs, we measured the performance of our scheme and compared it with those of some other schemes.
著者
-
Yuasa Taiichi
Department Of Communications And Computer Engineering Graduate School Of Informatics Kyoto Universit
-
Umatani Seiji
Department Of Communications And Computer Engineering Graduate School Of Informatics Kyoto Universit
-
Shobayashi Hirokazu
Ntt West Co. Ltd.
-
Yasugi Masahiro
Department of Artificial Intelligence, Kyushu Institute of Technology
-
Yuasa Taiichi
Department of Communications and Computer Engineering, Graduate School of Informatics, Kyoto University
-
Yasugi Masahiro
Department of Communications and Computer Engineering, Graduate School of Informatics, Kyoto University
関連論文
- Highly Reliable Embedded Software Development Using Advanced Software Technologies(Software Engineering for Embedded Systems)
- A New Algorithm for 2D Convolution on Mesh-connected SIMD Computers
- Time-Optimal 2D Convolution on Mesh-Connected SIMD Computers with Bounded Number of PEs (Special Issue on Architectures Algorithms and Networks for Massively Parallel Computing)
- A Transformation-Based Implementation of Lightweight Nested Functions
- Efficient and Portable Implementation of Java-style Exception Handling in C
- Design and Implementation of Kyoto Common Lisp
- SEAN: Support Tool for Detecting Rule Violations in JNI Coding
- A Transformation-Based Implementation of Lightweight Nested Functions
- A Transformation-Based Implementation of Lightweight Nested Functions
- SEAN: Support Tool for Detecting Rule Violations in JNI Coding
- Efficient and Portable Implementation of Java-style Exception Handling in C
- Efficient and Portable Implementation of Java-style Exception Handling in C