Toshio Suganuma

Learn More
The high performance implementation of Java Virtual Machines (JVM) and just-in-time (JIT) compilers is directed toward adaptive compilation optimizations on the basis of online runtime profile information. This paper describes the design and implementation of a dynamic optimization framework in a production-level Java JIT compiler. Our approach is to employ(More)
Method inlining is one of the optimizations that have a significant impact on both system performance and total compilation overhead in a dynamic compilation system. This paper describes an empirical study of onlineprofile-directed method inlining for obtaining both performance benefits and compilation time reductions in our dynamic compilation system. We(More)
Method inlining and data flow analysis are two major optimization components for effective program transformations, however they often suffer from the existence of rarely or never executed code contained in the target method. One major problem lies in the assumption that the compilation unit is partitioned at method boundaries. This paper describes the(More)
The high performance implementation of Java Virtual Machines (JVM) and Just-In-Time (JIT) compilers is directed toward employing a dynamic compilation system on the basis of online runtime profile information. The trade-off between the compilation overhead and performance benefit is a crucial issue for such a system. This article describes the design and(More)
The Java language incurs a runtime overhead for exception checks and object accesses without an interior pointer in order to ensure safety. It also requires type inclusion test, dynamic class loading, and dynamic method calls in order to ensure flexibility. A “JustIn-Time” (JIT) compiler generates native code from Java byte code at runtime. It must improve(More)
Collecting hot paths is important for restructuring and optimizing the target program effectively. It is, however, challenging for Just-In-Time (JIT) compilers, which must collect path profiles on the fly at runtime. In this paper, we propose an efficient online path profiling technique, called structural path profiling (SPP), suitable for JIT compilers.(More)
This paper describes the system overview of our Java Just-In-Time (JIT) compiler, which is the basis for the latest production version of IBM Java JIT compiler that supports a diversity of processor architectures including both 32-bit and 64-bit modes, CISC, RISC, and VLIW architectures. In particular, we focus on the design and evaluation of the(More)
This paper presents a new technique for detecting and optimizing reduction operations for parallelizhtg compilers. The technique presented here can detect reduction constructs in general complex loops, parallelize the loops containing reduction constructs, and optimize communications for multiple reduction operations. The optimization proposed here can be(More)
Java just-in-time compiler for IA-32 platforms T. Suganuma T. Ogasawara K. Kawachiya M. Takeuchi K. Ishizaki A. Koseki T. Inagaki T. Yasue M. Kawahito T. Onodera H. Komatsu T. Nakatani Java has gained widespread popularity in the industry, and an efficient Java virtual machine (JVM ) and just-in-time (JIT) compiler are crucial in providing high performance(More)