Using the SafeTSA Representation to Boost the Performance of an Existing Java Virtual Machine

作者: Wolfram Amme , Jeffery von Ronne , Michael Franz

DOI:

关键词:

摘要: High-performance just-in-time compilers for Java need to invest a considerable effort before actual code generation can commence, both verify each incoming JVM class file, and translate the them into an internal representation optimization. To ease this burden, we have designed, safeTSA, intermediate based on typed SSA form, that drastically simplifies of these steps, without sacrificing safety or quality. We report our experience integrating support loading compiling safeTSA files Jalapeno Virtual Machine. The net result integration is runtime which capable executing classes from files, heterogeneous mixture two. Our prototype compiler patterned after optimizing currently shares its lowlevel generator. Preliminary performance results are very encouraging show simultaneous improvements in compilation time quality relative compiler. This supports hypothesis SSA-based representations, such as offer unique advantages context compilation.

参考文章(14)
Michael Franz, Thomas Peter Kistler, Continuous program optimization University of California, Irvine. ,(1999)
H. H. Nageli, K. V. Nori, Urs Ammann, Kathleen Jensen, Christian Jacobi, Pascal-P Implementation Notes. Pascal - The Language and its Implementation. pp. 125- 170 ,(1981)
Thomas Kistler, Michael Franz, A Tree-Based Alternative to Java Byte-Codes International Journal of Parallel Programming. ,vol. 27, pp. 21- 33 ,(1999) , 10.1023/A:1018740018601
Keith H. Randall, Jeff Dean, Sanjay Ghemawat, Daniel J. Scales, The Swift Java Compiler: Design and Implementation ,(2002)
Michael G. Burke, John Whaley, Jong-Deok Choi, Stephen Fink, David Grove, Michael Hind, Vivek Sarkar, Mauricio J. Serrano, V. C. Sreedhar, Harini Srinivasan, The Jalapeño dynamic optimizing compiler for Java Proceedings of the ACM 1999 conference on Java Grande. pp. 129- 141 ,(1999) , 10.1145/304065.304113
Joseph Hummel, Ana Azevedo, David Kolson, Alexandru Nicolau, Annotating the Java bytecodes in support of optimization Concurrency and Computation: Practice and Experience. ,vol. 9, pp. 1003- 1016 ,(1997) , 10.1002/(SICI)1096-9128(199711)9:11<1003::AID-CPE346>3.0.CO;2-G
J. A. Mathew, P. D. Coddington, K. A. Hawick, Analysis and development of Java Grande benchmarks Proceedings of the ACM 1999 conference on Java Grande. pp. 72- 80 ,(1999) , 10.1145/304065.304101
Robert Fitzgerald, Todd B. Knoblock, Erik Ruf, Bjarne Steensgaard, David Tarditi, Marmot: an optimizing compiler for Java Software - Practice and Experience. ,vol. 30, pp. 199- 232 ,(2000) , 10.1002/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2
B. Alpern, C. R. Attanasio, J. J. Barton, M. G. Burke, P. Cheng, J.-D. Choi, A. Cocchi, S. J. Fink, D. Grove, M. Hind, S. F. Hummel, D. Lieber, V. Litvinov, M. F. Mergen, T. Ngo, J. R. Russell, V. Sarkar, M. J. Serrano, J. C. Shepherd, S. E. Smith, V. C. Sreedhar, H. Srinivasan, J. Whaley, The Jalapeño virtual machine Ibm Systems Journal. ,vol. 39, pp. 211- 238 ,(2000) , 10.1147/SJ.391.0211
Cristina Cifuentes, Reverse compilation techniques Queensland University of Technology. ,(1994)