Implementing Jalapeno in Java']Java

被引:68
作者
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
相关论文
共 18 条
[1]  
BOWEN A, 1999, ACM SIGPLAN 1999 WOR
[2]  
BOWEN A, 2000, IBM SYSTEMS J
[3]  
BOWEN A, 1999, INT C PAR ARCH COMP
[4]  
CHAPIN J, COMMUNICATION
[5]  
DAVID F, 1998, SIGPLAN 98 C PROGR L, P258
[6]  
DUIMOVICH J, COMMUNICATION
[7]  
GOSLING J, 1996, JAVA LANGUAGE SPECIF
[8]  
*IBM CORP, 1998, AIX VERS 4 3 TECHN R
[9]  
INGELS D, 1997, P 1997 ACM SIGPLAN C, P318
[10]  
JAMES M, 1999, SIGPLAN 99 C PROGR L, P326