Opencj: A research Java static compiler based on Open64

作者: Binyu Zang , Keqiao Yang , Zhemin Yang , Zhiwei Cao , Min Yang

DOI:

关键词:

摘要: As Java becomes more pervasive in the programming landscape even HPC applications, it is very important to provide optimizing compilers and efficient runtime systems. To this end, we try leverage synergy between static dynamic optimization exploit chances improve performance especially for server applications. This paper presents our first achievement of implementing a compiler Opencj which can perform fully takes source files or class as inputs generates machine dependent executable code Linux/IA32. It developed based on Open64 with some optimizations implemented Java. Efficient support exception handling virtual method call resolution fulfills demands are imposed by features language. Due same optimizer Open64, gap C/C++ programs be evaluated. The evaluation scientific SciMark 2.0 benchmark suite shows they have similar peak its C versions. also illustrates that better than GCJ SPECjvm98 suite.

参考文章(24)
Feng Qian, Laurie Hendren, Clark Verbrugge, A Comprehensive Approach to Array Bounds Check Elimination for Java compiler construction. pp. 325- 342 ,(2002) , 10.1007/3-540-45937-5_23
Dachuan Yu, Zhong Shao, Valery Trifonov, Supporting Binary Compatibility with Static Compilation Proceedings of the 2nd Java™ Virtual Machine Research and Technology Symposium. pp. 165- 180 ,(2002) , 10.21236/ADA436477
Vitaly V. Mikheev, Stanislav A. Fedoseev, Vladimir V. Sukharev, Nikita V. Lipsky, Effective Enhancement of Loop Versioning in Java compiler construction. pp. 293- 306 ,(2002) , 10.1007/3-540-45937-5_21
Michael Klemm, Ronald Veldema, Matthias Bezold, Michael Philippsen, A proposal for OpenMP for Java international workshop on openmp. pp. 409- 421 ,(2005) , 10.1007/978-3-540-68555-5_33
David Dice, Implementing fast java TM monitors with relaxed-locks JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1. pp. 13- 13 ,(2001)
Erik Ruf, Effective synchronization removal for Java Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation - PLDI '00. ,vol. 35, pp. 208- 218 ,(2000) , 10.1145/349299.349327
Vijay Sundaresan, Laurie Hendren, Chrislain Razafimahefa, Raja Vallée-Rai, Patrick Lam, Etienne Gagnon, Charles Godin, Practical virtual method call resolution for Java conference on object-oriented programming systems, languages, and applications. ,vol. 35, pp. 264- 280 ,(2000) , 10.1145/353171.353189
Matthew Arnold, Stephen Fink, David Grove, Michael Hind, Peter F. Sweeney, Adaptive optimization in the Jalapeno JVM ACM SIGPLAN Notices. ,vol. 46, pp. 65- 83 ,(2011) , 10.1145/1988042.1988048
T. Suganuma, T. Ogasawara, M. Takeuchi, T. Yasue, M. Kawahito, K. Ishizaki, H. Komatsu, T. Nakatani, Overview of the IBM Java just-in-time compiler Ibm Systems Journal. ,vol. 39, pp. 175- 193 ,(2000) , 10.1147/SJ.391.0175