Run-time bytecode specialization: A portable approach to generating optimized specialized code

作者: Akinori Yonezawa , Hidehiko Masuhara

DOI:

关键词:

摘要: This paper proposes a run-time bytecode specialization (BCS) technique that analyzes programs and generates specialized at in an intermediate language. By using language for code generation, back-end system can optimize the after specialization. As language, uses Java virtual machine (JVML), which allows to easily achieve practical portability use sophisticated just-in-time compilers as its back-end. The binding-time analysis algorithm, is based on type system, covers non-object-oriented subset of JVML. A specializer, per-instruction basis, perform method inlining run-time. performance measurement showed non-trivial application program by BCS runs approximately 3-4 times faster than unspecialized one. Despite large amount overheads JIT compilation code, we observed overall be improved.

参考文章(20)
Kenichi Asai, Binding-Time Analysis for Both Static and Dynamic Expressions static analysis symposium. pp. 117- 133 ,(1999) , 10.1007/3-540-48294-6_8
Frank Yellin, Tim Lindholm, The Java Virtual Machine Specification ,(1996)
Andrew Berlin, Rajeev Surati, Partial Evaluation for Scientific Computing: The Supercomputer Toolkit Experience partial evaluation and semantic-based program manipulation. pp. 133- 141 ,(1994) , 10.21236/ADA282286
Peter Sestoft, Neil D. Jones, Carsten K. Gomard, Partial evaluation and automatic program generation ,(1993)
Brian Grant, Matthai Philipose, Markus Mock, Craig Chambers, Susan J. Eggers, An evaluation of staged run-time optimizations in DyC Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation - PLDI '99. ,vol. 34, pp. 293- 304 ,(1999) , 10.1145/301618.301683
Joel Auslander, Matthai Philipose, Craig Chambers, Susan J. Eggers, Brian N. Bershad, Fast, effective dynamic compilation Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation - PLDI '96. ,vol. 31, pp. 149- 159 ,(1996) , 10.1145/231379.231409
Peter Lee, Mark Leone, Optimizing ML with run-time code generation Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation - PLDI '96. ,vol. 39, pp. 137- 148 ,(1996) , 10.1145/231379.231407
Jong-Deok Choi, Manish Gupta, Mauricio Serrano, Vugranam C. Sreedhar, Sam Midkiff, Escape analysis for Java conference on object-oriented programming systems, languages, and applications. ,vol. 34, pp. 1- 19 ,(1999) , 10.1145/320384.320386
Dawson R. Engler, VCODE Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation - PLDI '96. ,vol. 31, pp. 160- 170 ,(1996) , 10.1145/231379.231411
Charles Consel, François Noël, A general approach for run-time specialization and its application to C symposium on principles of programming languages. pp. 145- 156 ,(1996) , 10.1145/237721.237767