Characterization of Java Applications at Bytecode and Ultra-SPARC Machine Code Levels

  • Authors:
  • Affiliations:
  • Venue:
  • ICCD '99 Proceedings of the 1999 IEEE International Conference on Computer Design
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper identifies some of the most important execution characteristics of a recent suite of Java benchmarks (SPEC JVM98) from a bytecode perspective and while running in an interpreted environment on the Sun Ultra SPARC-II. We instrumented the Java Virtual Machine (JVM) to obtain detailed traces and developed a Java bytecode analyzer environment called JABA to characterize the applications at the bytecode level. Utilizing JABA and SPARC profiling tools, we analyze bytecode locality, instruction mix and dynamic method sizes. It is observed that less than 45 out of the 250 Java bytecodes constitute 90% of the bytecode stream. A tri-nodal distribution with peaks of 1, 10 and 27 bytecodes is observed for method size across all benchmarks in the JVM98 suite. For most of the applications one bytecode is seen to translate into approximately 25 SPARC instructions.