Design and evaluation of dynamic optimizations for a Java just-in-time compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
Evolution of a java just-in-time compiler for IA-32 platforms
IBM Journal of Research and Development
Using hpm-sampling to drive dynamic compilation
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Design of the Java HotSpot™ client compiler for Java 6
ACM Transactions on Architecture and Code Optimization (TACO)
Hi-index | 0.00 |
With the promise of machine independence and efficientportability, JAVA has gained widespread popularityin the industry. Along with this promise comes theneed for designing an efficient runtime environment thatcan provide high-end performance for Java-based applications.In other words, the performance of Java applicationsdepends heavily on the design and optimization ofthe Java Virtual Machine (JVM). In this paper, we start byevaluating the performance of a Java server application(SPECjbb2000TM) on an Intel platform running a rudimentaryJVM. We present a measurement-based methodologyfor identifying areas of potential improvement and subsequentlyevaluating the effect of JVM optimizations andother platform optimizations. The compiler optimizationspresented and discussed in this paper include peephole optimizationsand Java specific optimizations. In addition, wealso study the effect of optimizing the garbage collectionmechanism and the effect of improved locking strategies.The identification and analysis of these optimizations areguided by the detailed knowledge of the micro-architectureand the use of performance measurement and profiling tools(EMON and VTune) on Intel platforms.