Harissa: A flexible and efficient Java']Java environment mixing bytecode and compiled code

被引:0
|
作者
Muller, G
Moura, B
Bellard, F
Consel, C
机构
关键词
!text type='Java']Java[!/text; C; bytecode; off-line compilers; JIT compilers;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The Java language provides a promising solution to the design of safe programs, with an application spectrum ranging from Web services to operating system components. The well-known tradeoff of Java's portability is the inefficiency of its basic execution model, which relies on the interpretation of an object-based virtual machine. Many solutions have been proposed to overcome this problem, such as just-in-time (JIT) and offline bytecode compilers. However, most compilers trade efficiency for either portability or the ability to dynamically load bytecode. In this paper, we present an approach which reconciles portability and efficiency, and preserves the ability to dynamically load bytecode. We have designed and implemented an efficient environment for the execution of Java programs, named Harissa(1) Harissa permits the mixing of compiled and interpreted methods. Harissa's compiler translates Java bytecode to C, incorporating aggressive optimizations such as virtual-method call optimization based on the Class Hierarchy Analysis. To evaluate the performance of Harissa, we have conducted an extensive experimental study aimed at comparing the various existing alternatives to execute Java programs. The C code produced by Harissa's compiler is more efficient than all other alternative ways of executing Java programs (that were available to us): it is up to 140 times faster than the JDK interpreter, up to 13 times faster than the Softway Guava JIT, and 30% faster than the Toba bytecode to C compiler.
引用
收藏
页码:1 / 20
页数:20
相关论文
共 50 条
  • [31] An efficient optimization algorithm of java bytecode to reduce network traffic
    Kim, Do-Woo
    Jung, Min-Soo
    [J]. Lect. Notes Comput. Sci., (542-551):
  • [32] REUSE OF JIT COMPILED CODE BASED ON BINARY CODE PATCHING IN JAVA']JAVASCRIPT ENGINE
    Jeon, Sanghoon
    Choi, Jaeyoung
    [J]. JOURNAL OF WEB ENGINEERING, 2012, 11 (04): : 337 - 349
  • [33] Controlled, Systematic, and Efficient Code Replacement for Running Java']Java Programs
    Nicoara, Angela
    Alonso, Gustavo
    Roscoe, Timothy
    [J]. EUROSYS'08: PROCEEDINGS OF THE EUROSYS 2008 CONFERENCE, 2008, : 233 - 246
  • [34] Ibis: A flexible and efficient Java-based Grid programming environment
    Van Nieuwpoort, Rob V.
    Maassen, Jason
    Wrzesin´ska, Gosia
    Hofman, Rutger F. H.
    Jacobs, Ceriel J. H.
    Kielmann, Thilo
    Bal, Henri E.
    [J]. Concurrency Comput. Pract. Exper., 7-8 (1079-1107):
  • [35] Efficient exception handling in Java']Java bytecode-to-C ahead-of-time compiler for embedded systems
    Jung, Dong-Heon
    Park, JongKuk
    Bae, Sung-Hwan
    Lee, Jaemok
    Moon, Soo-Mook
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2008, 34 (04) : 170 - 183
  • [36] MPJ/Ibis: A flexible and efficient message passing platform for Java']Java
    Bornemann, M
    van Nieuwpoort, RV
    Kielmann, T
    [J]. RECENT ADVANCES IN PARALLEL VIRTUAL MACHINE AND MESSAGE PASSING INTERFACE, PROCEEDINGS, 2005, 3666 : 217 - 224
  • [37] Efficient Java']Java Code Generation of Security Protocols Specified in AnB/AnBx
    Modesti, Paolo
    [J]. SECURITY AND TRUST MANAGEMENT (STM 2014), 2014, 8743 : 204 - 208
  • [38] Improving Java']Java performance and energy dissipation through efficient code caching
    Sun, Yu
    Zhang, Wei
    [J]. DESIGN AUTOMATION FOR EMBEDDED SYSTEMS, 2009, 13 (03) : 179 - 192
  • [39] An efficient and flexible access control framework for Java']Java programs in mobile terminals
    Tomimori, H
    Nakamoto, Y
    [J]. 22ND INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS WORKSHOP, PROCEEDINGS, 2002, : 777 - 782
  • [40] Java bytecode clone detection via relaxation on code fingerprint and Semantic Web reasoning
    Keivanloo, Iman
    Roy, Chanchai K.
    Rilling, Juergen
    [J]. 2012 6th International Workshop on Software Clones, IWSC 2012 - Proceedings, 2012, : 36 - 42