Generating Optimized Residual Code in Run-time Specialization (bibtex)
by Hidehiko Masuhara and Akinori Yonezawa
Abstract:
Run-time specialization (RTS) techniques efficiently generate specialized programs with respect to run-time values. They construct compiled native-code fragments called templates at compile-time, and generate a specialized program by merely copying the templates. The generated programs are less efficient than those generated by static partial evaluation techniques because the RTS techniques prevent many optimizations. The proposed bytecode specialization (BCS) technique is used to generate programs in a bytecode language and then translate the generated bytecode into native code by using a just-in-time (JIT) compiler. Its advantages are (1) efficient specialization processes that are similar to those of RTS techniques, (2) efficient specialized programs thanks to optimizations by the JIT compilers, and (3) that it is independent of the source-to-bytecode and the bytecode-to-native compilers thanks to a binding-time analysis algorithm that directly handles bytecode programs. Thus far, a BCS system has been implemented for a Java virtual machine subset. Micro-benchmarking showed that BCS with JIT compilation generates specialized programs that run more than 3-times faster than ones generated by traditional RTS techniques and that this specialization process takes less than one second.
Reference:
Generating Optimized Residual Code in Run-time Specialization (Hidehiko Masuhara and Akinori Yonezawa), In Proceedings of International Colloquium on Partial Evaluation and Program Transformation, 1999.
Bibtex Entry:
@inproceedings{masuhara99peday,
  pdf = {peday99-generating.pdf},
  author = {Hidehiko Masuhara and Akinori Yonezawa},
  title = {Generating Optimized Residual Code in Run-time
		  Specialization},
  booktitle = {Proceedings of International Colloquium on Partial
		  Evaluation and Program Transformation},
  year = 1999,
  opteditor = {Robert Gl{\"u}ck and Yoshihiko Futamura},
  pages = {83--102},
  address = {Waseda University, Tokyo, Japan},
  month = nov,
  keywords = {Java, bytecode, partial evaluation},
  abstract = {Run-time specialization (RTS) techniques efficiently generate specialized programs with respect to run-time values. They construct compiled native-code fragments called templates at compile-time, and generate a specialized program by merely copying the templates. The generated programs are less efficient than those generated by static partial evaluation techniques because the RTS techniques prevent many optimizations.

The proposed bytecode specialization (BCS) technique is used to generate programs in a bytecode language and then translate the generated bytecode into native code by using a just-in-time (JIT) compiler. Its advantages are (1) efficient specialization processes that are similar to those of RTS techniques, (2) efficient specialized programs thanks to optimizations by the JIT compilers, and (3) that it is independent of the source-to-bytecode and the bytecode-to-native compilers thanks to a binding-time analysis algorithm that directly handles bytecode programs.

Thus far, a BCS system has been implemented for a Java virtual machine subset. Micro-benchmarking showed that BCS with JIT compilation generates specialized programs that run more than 3-times faster than ones generated by traditional RTS techniques and that this specialization process takes less than one second.}
}
Powered by bibtexbrowser