Browse > Article

The Bytecode Optimizer  

이야리 (동국대학교 컴퓨터공학과)
홍경표 (동국대학교 컴퓨터공학과)
오세만 (동국대학교 컴퓨터공학과)
Abstract
The Java programming language is designed for developing effective applications in a heterogeneous network environment. Major problem in Java is its performance. many attractive features of Java make the development of software easy, but also make it expensive to support ; applications written in Java are often much slower than their counterparts written in C or C++. To use Java`s attractive features without the performance penalty, sophisticated optimizations and runtime systems are required. Optimising Java bytecode has several advantages. First, the bytecode is independent of any compiler that is used to generate it. Second, the bytecode optimization can be performed as a pre=pass to Just-In-Time(JIT) compilation. Many attractive features of Java make the development of software easy, but also make it expensive to support. The goal of this work is to develop automatic construction of code optimizer for Java bytecode. We`ve designed and implemented a Bytecode Optimizer that performs the peephole optimization, bytecode-specific optimization, and method-inlining techniques. Using the Classfile optimizer, we see up to 9% improvement in speed and about 20% size reduction in Java class files, when compared to average code using the interpreter alone.
Keywords
Optimizer; Bytecode; Class File; Pattern-Matching Optimization;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Jonathan Meyer, Jasmin - Jasmin Assembler, http://www.cat.nyu.edu/meyer/jasmin/guide.html
2 고광만, 오세만, 트리 패턴 매칭 코드 생성 알고리즘, 한국정보과학회 논문지(B), 25권 10호, pp.1566-1574, 1998. 10
3 Make Java fast:Optimize!, http://www.javaworld.com/javaworld/jw-04-1997/jw-04-optimize.html
4 M. Dham, Byte Code Enginnering with the JavaClass API, University Berlin, 1998 http://bcel.sourceforge.net/
5 OpenJIT homepage, http://www.openjit.org
6 Yari Lee, Jungsook Kim, Kyongpyo Hong and Seman Oh, 'Design and Implementation of a Java Byrecode Optimizer,' Proceedings of the IASTED International Conference Internet and Multimedia Systems and Applications, Hawaii, pp.62-66, August 2001
7 이야리, 오세만, 자바 바이트코드 최적화기, 한국정보과학회 프로그래밍언어연구회 논문지, 제15권 제2호, pp.9-18, 2001.11
8 홍경표, 이야리, 오세만, 자바 클래스 파일 최적화, 한국정보과학회 봄 학술 발표논문집, 제28권 제1호, pp.55-57, 2001.4
9 Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman, Compilers: Principles,Techniques and Tools, Addison-Wesley, 1986
10 DashO, preEmptive solution Inc., http://www.preemptive.com/
11 Geoff Cohen, Prof.Jeff Chase, Prof.Sid Chatterjee(UNC), John Bley, Geoff Berry, Dr.David Kaminsky(IBM), JOIE, The Java Object Instrumentation Environment
12 Han Bok Lee and Benjamin G. Zorn, BIT: A Tools for Instrumenting Java Bytecodes, Proceedings USENIX Symposium on Internet Technologies and Systems, 1998
13 Ken Arnold and James Gosling, The Java Programming Language Second Edition, Addison Wesley, 1998
14 Mahadevan Ganapathi, Charles N. Fisher and John L. Hennessy, 'Retargetable Compiler Code Generation,' ACM Computing Surveys, Vol.14, No.4, pp.573-593, 1982   DOI   ScienceOn
15 Tim Lindholm and Frank Yellin, The Java Virtual Machine Specification, Second Edition, Addison Wesley, 1999