Effective and Efficient Compilation of Run-Time Generics in Java']Java

被引:2
|
作者
Viroli, Mirko [1 ]
机构
[1] Univ Studi Bologna, DEIS, Via Venezia 52, I-47023 Cesena, Italy
关键词
!text type='Java']Java[!/text; Parametric Polymorphism; Compilation Techniques; Run-time Types;
D O I
10.1016/j.entcs.2005.09.013
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
After several years from Sun Microsystems' call-for-proposals for adding generics to the Java Programming Language, JDK 1.5 will be finally shipped with a compile-time support for generics. However, differently e.g. from the current implementation of. NET Common Language Runtime, run-time support to generics - also commonly referred to as reification of type parameters - is not provided, leading to a number of well-known inadequacies which might potentially be critical. In this paper we present the EGO compiler (Exact Generics on Demand). This is the result of a project developed in collaboration with Sun Microsystems as an effort to provide run-time generics in a smooth way, without requiring any change on the JVM or on any other run-time support. The core solution is a sophisticated translation of code based on the type-passing style, where run-time type information is automatically created on a by-need basis, limiting as most as possible run-time overhead while retaining interoperability with legacy Java code. We present the main aspects of this development, from basic design to implementation and deployment issues. Many relevant aspects that typical raise when implementing advanced type systems over a mainstream programming language are discussed, shading light to some effective implementation techniques.
引用
收藏
页码:95 / 116
页数:22
相关论文
共 50 条
  • [1] Efficient implementation of run-time generic types for Java']Java
    Allen, E
    Cartwright, R
    Stoler, B
    [J]. GENERIC PROGRAMMING, 2003, 115 : 207 - 236
  • [2] MetaJava']Java: An efficient run-time meta architecture for Java']Java(TM)
    Kleinoder, J
    Golm, M
    [J]. PROCEEDINGS OF THE FIFTH INTERNATIONAL WORKSHOP ON OBJECT-ORIENTATION IN OPERATING SYSTEMS, 1996, : 54 - 61
  • [3] Run-time optimizations for a Java']Java DSM implementation
    Veldema, R
    Hofman, RFH
    Bhoedjang, RAF
    Bal, HE
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2003, 15 (3-5): : 299 - 316
  • [4] Java']Java-MaC: A run-time assurance approach for Java']Java programs
    Kim, M
    Viswanathan, M
    Kannan, S
    Lee, I
    Sokolsky, O
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 2004, 24 (02) : 129 - 155
  • [5] Run-time execution of reconfigurable hardware in a Java']Java environment
    King, LAS
    Quinn, H
    Leeser, M
    Galatopoullos, D
    Manolakos, E
    [J]. 2001 INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, ICCD 2001, PROCEEDINGS, 2001, : 380 - 385
  • [6] Run-time support for the automatic parallelization of Java']Java programs
    Chan, B
    Abdelrahman, TS
    [J]. JOURNAL OF SUPERCOMPUTING, 2004, 28 (01): : 91 - 117
  • [7] Development of run-time UML for JAVA']JAVA programming language
    Nor, SM
    Hani, MK
    Ashourian, M
    Ann, GH
    [J]. IEEE 2000 TENCON PROCEEDINGS, VOLS I-III: INTELLIGENT SYSTEMS AND TECHNOLOGIES FOR THE NEW MILLENNIUM, 2000, : B86 - B89
  • [8] Run-time evaluation of opportunities for object inlining in Java']Java
    Lhoták, O
    Hendren, L
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2005, 17 (5-6): : 515 - 537
  • [9] A run-time deadlock detector for concurrent Java']Java programs
    Nonaka, Y
    Ushijima, K
    Serizawa, H
    Murata, S
    Cheng, JD
    [J]. APSEC 2001: EIGHTH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2001, : 45 - 52
  • [10] Validating run-time interactions in distributed Java']Java applications
    Ghosh, S
    Bawa, N
    Goel, S
    Reddy, YR
    [J]. EIGHTH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS, PROCEEDINGS, 2002, : 7 - 16