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
相关论文
共 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