Implementing Jalapeno in Java']Java

被引:67
|
作者
Alpern, B
Barton, JJ
Hummel, SF
Ngo, T
Shepherd, JC
Attanasio, CR
Cocchi, A
Lieber, D
Mergen, M
Smith, S
机构
[1] IBM Corp, Thomas J Watson Res Ctr, Yorktown Heights, NY 10598 USA
[2] Hewlett Packard Labs, Palo Alto, CA 94304 USA
关键词
D O I
10.1145/320385.320418
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Jalapeno is a virtual machine for Java(TM) servers written in Java. A running Java program involves four layers of functionality: the user code, the virtual-machine, the operating system, and the hardware. By drawing the Java / non-Java boundary below the virtual machine rather than above it, Jalapeno reduces the boundary-crossing overhead and opens up more opportunities for optimization. To get Jalapeno started, a boot image of a working Jalapeno virtual machine is concocted and written to a file. Later, this file can be loaded into memory and executed. Because the boot image consists entirely of Java objects, it can be concocted by a Java program that runs in essay JVM. This program uses reflection to convert the boot image into Jalapeno's object format. A special MAGIC class allows unsafe casts and direct access to the hardware. Methods of this class are recognized by Jalapeno's three compilers, which ignore their bytecodes and emit special-purpose machine code. User code will not be allowed to call MAGIC methods so Java's integrity is preserved. A small non-Java program is used to start up a boot image and as an interface to the operating system. Java's programming features - object orientation, type safety, automatic memory management - greatly facilitated development of Jalapeno. However, we also discovered some of the langauge's limitations.
引用
收藏
页码:314 / 324
页数:11
相关论文
共 50 条
  • [21] Implementing Java']Java Modeling Language Contracts with AspectJ
    Rebelo, Henrique
    Lima, Ricardo
    Cornelio, Marcio
    Soares, Sergio
    Ferreira, Leopoldo
    APPLIED COMPUTING 2008, VOLS 1-3, 2008, : 228 - 233
  • [22] A Java']Java library for implementing distributed object systems
    Maruyama, K
    IEICE TRANSACTIONS ON FUNDAMENTALS OF ELECTRONICS COMMUNICATIONS AND COMPUTER SCIENCES, 2000, E83A (11) : 2253 - 2263
  • [23] Experiences of implementing BitTorrent on Java']Java ME platform
    Ekler, Peter
    Nurminen, Jukka K.
    Kiss, Attila
    2008 5TH IEEE CONSUMER COMMUNICATIONS AND NETWORKING CONFERENCE, VOLS 1-3, 2008, : 1154 - +
  • [24] Using Java']Java and CORBA for implementing Internet databases
    Bouguettaya, A
    Benatallah, B
    Ouzzani, M
    Hendra, L
    15TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, PROCEEDINGS, 1999, : 218 - 227
  • [25] Implementing higher-order control in Java']Java
    Yu, Gang
    TASE 2008: SECOND IFIP/IEEE INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING, PROCEEDINGS, 2008, : 229 - 232
  • [26] Implementing fast Java']Java™ monitors with relaxed-locks
    Dice, D
    USENIX ASSOCIATION PROCEEDINGS JAVA(TM) VIRTUAL MACHINE RESEARCH AND TECHNOLOGY SYMPOSIUM, 2001, : 79 - 90
  • [27] Implementing Java']Java computing: Sun on architecture and applications deployment
    Gupta, A
    Ferris, C
    Wilson, Y
    Venkatasubramanian, K
    IEEE INTERNET COMPUTING, 1998, 2 (02) : 60 - 64
  • [28] HPC in Java']Java: Experiences in Implementing the NAS Parallel Benchmarks
    Amedro, Brian
    Caromel, Denis
    Huet, Fabrice
    Bodnartchouk, Vladimir
    Delbe, Christian
    Taboada, Guillermo L.
    NEW ASPECTS OF APPLIED INFORMATICS, BIOMEDICAL ELECTRONICS AND INFORMATICS AND COMMUNICATION, 2010, : 221 - +
  • [29] Implementing distributed FDTD codes with Java']Java mobile agents
    Biniaris, CG
    Kostaridis, AI
    Kaklamani, DI
    Venieris, IS
    IEEE ANTENNAS AND PROPAGATION MAGAZINE, 2002, 44 (06) : 115 - 119
  • [30] Hive: Implementing a virtual distributed shared memory in Java']Java
    Baiardi, F
    Dobloni, G
    Mori, P
    Ricci, L
    DISTRIBUTED AND PARALLEL SYSTEMS : FROM INSTRUCTION PARALLELISM TO CLUSTER COMPUTING, 2000, 567 : 169 - 172