Space-and time-efficient implementation of the Java']Java object model

被引:0
|
作者
Bacon, DF [1 ]
Fink, SJ [1 ]
Grove, D [1 ]
机构
[1] IBM Corp, Thomas J Watson Res Ctr, Yorktown Hts, NY 10598 USA
来源
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
While many object-oriented languages impose space overhead of only one word per object to support features like virtual method dispatch, Java's richer functionality has led to implementations that require two or three header words per object. This splice overhead increases memory usage and attendant garbage collection costs, reduces cache locality, and constrains programmers who might naturally solve a problem by using large numbers of small objects. In this paper, we show that with careful engineering a high-performance virtual machine can instantiate most Java objects with only a single-word object header. The single header word provides fast access to the virtual method table, allowing for quick method invocation. The implementation represents other per-object data (lock state, hash code, and garbage collection flags) using heuristic compression techniques. The heuristic retains two-word headers, containing thin lock state, only for objects that have synchronized methods. We describe the implementation of various object models in the IBM Jikes Research Virtual Machine, by introducing a pluggable object model abstraction into the virtual machine implementation. We compare an object model with a two-word header with three different object models with single-word headers, Experimental results show that the object header compression techniques give a mean space savings of 7%, with savings of up to 21%. Compared to the two-word headers, the compressed space-encodings result in application speedups ranging from -1.5% to +2.2%. Performance on synthetic micro-benchmarks ranges from +23% due to benefits from reduced object size, to -12% on a stress test of virtual method invocation.
引用
收藏
页码:111 / 132
页数:22
相关论文
共 50 条
  • [31] Run-time evaluation of opportunities for object inlining in Java']Java
    Lhoták, O
    Hendren, L
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2005, 17 (5-6): : 515 - 537
  • [32] A novel buffer cache scheme using Java']Java Card object with high locality for efficient Java']Java Card applications
    Choi, Won-Ho
    Jeon, Ha-Yong
    Rosholt, Rhys
    Jung, Gwang
    Jung, Min-Soo
    ADVANCES IN HYBRID INFORMATION TECHNOLOGY, 2007, 4413 : 500 - +
  • [33] Hybrid PolyLingual Object Model: An Efficient and Seamless Integration of Java']Java and Native Components on the Dalvik Virtual Machine
    Huang, Yukun
    Chen, Rong
    Wei, Jingbo
    Pei, Xilong
    Cao, Jing
    Jayaraman, Prem Prakash
    Ranjan, Rajiv
    SCIENTIFIC WORLD JOURNAL, 2014,
  • [34] A Java']Java implementation of a component model with explicit symbolic protocols
    Pavel, S
    Noyé, J
    Poizat, P
    Royer, JC
    SOFTWARE COMPOSITION, 2005, 3628 : 115 - 124
  • [35] MetaJava']Java: An efficient run-time meta architecture for Java']Java(TM)
    Kleinoder, J
    Golm, M
    PROCEEDINGS OF THE FIFTH INTERNATIONAL WORKSHOP ON OBJECT-ORIENTATION IN OPERATING SYSTEMS, 1996, : 54 - 61
  • [36] Kava: a Java']Java dialect with a uniform object model for lightweight classes
    Bacon, DF
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2003, 15 (3-5): : 185 - 206
  • [37] Issues in the design and implementation of efficient interfaces between hard and soft real-time Java']Java components
    Nilsen, K
    Klein, A
    ON THE MOVE TO MEANINGFUL INTERNET SYSTEMS 2003: OTM 2003 WORKSHOPS, 2003, 2889 : 451 - 465
  • [38] The design and implementation of distributed Java']Java virtual machine with an improved object consistency mechanism
    Kang, WC
    Kim, DT
    Lee, JW
    Proceedings of the IASTED International Conference on Parallel and Distributed Computing and Networks, 2004, : 428 - 433
  • [39] A hardware-oriented object model for Java']Java in an embedded processor
    Tan Yiyu
    MICROPROCESSORS AND MICROSYSTEMS, 2018, 63 : 85 - 97
  • [40] Design and implementation of a Java']Java-based meeting space over Internet
    Lee, BS
    Yeo, CK
    Soon, IY
    Lee, KK
    Sun, W
    MULTIMEDIA TOOLS AND APPLICATIONS, 2003, 20 (02) : 179 - 195