Abstract This paper presents the results of a characterization analysis performed on the Java Virtual Machine (JVM)using the SPEC JVM98 benchmarks. We have developed an instrument that runs inside the JVM that providesprofiles of a variety of different workload characteristics. The data from these profiles are examined to betterunderstand where performance bottlenecks exist in the JVM and what optimizations are possible. The frequencydata presented is a first step in determining what instructions require special attention. The stack levelinformation describes the number of registers needed to store stack elements. This knowledge can then beapplied to the development of specialized hardware architectures or enhanced interpreters. 1. Introduction T h e Java Virtual Machine language has become a success with the popularity and increased number ofusers on the Internet. Java allows programs to be used across a wide range of machine platforms, providinga common language interface. The Java bytecode (class file) format has provided the Internet communitywith a platform-independent intermediate language that is dependable and safe. Unfortunately, the executiontime of an interpreter-based JVM is slow. This problem is further aggravated as programs grow beyondbrowser applets to larger, more interactive, applications. There are several approaches to addressing JVMperformance problems. T h e first solution is to perform Just-In-Time Compilation (JIT). Here the bytecode format is compiled tonative code of the target processor using techniques developed for traditional languages such as C. Muchwork has been done in this area in both academic and commercial environments [HH97, KG98]. The
[1]
Mahlon Kelly,et al.
Forth, a Text and Reference
,
1986
.
[2]
Marc A. Hamilton.
Java and the Shift to Net-Centric Computing
,
1996,
Computer.
[3]
Alec Wolman,et al.
The structure and performance of interpreters
,
1996,
ASPLOS VII.
[4]
John C. Gyllenhaal,et al.
Optimizing NET Compilers for Improved Java Performance
,
1997,
Computer.
[5]
Terry A. Welch,et al.
A Technique for High-Performance Data Compression
,
1984,
Computer.
[6]
Jr. Philip J. Koopman,et al.
Stack computers: the new wave
,
1989
.