Distributed Partial Evaluation On Byte Code Specialization

Zm Ni,Hy Mao,Lp Huang,Yq Sun
DOI: https://doi.org/10.1007/3-540-27912-1_51
2005-01-01
Abstract:Web applications based on Java have platform-independent and portable features, however, its interpreted features limit the execution speed. Just-in-Time and Hotspot compiling techniques are employed to enhance the running performance, the speed up obtained is not observable and at the expense of memory. The partial evaluation technique as an automatic program transform technique is used to specialize generic programs into specific implementation for given parameters. Jspec specializes Java programs using Tempo and Harissa, a Java-to- C compiler [MY99], but the specialized programs are no longer applied to other application programs. Masuhara and Yonezawa [RHE02] give the Byte Code Specialization. There is a little study about partial evaluation building on object-oriented languages and heterogeneous environments. This paper presents the byte code specialization to partially evaluate Java instruction sequences, which availably deals with virtual function dispatch, control-shift instruction, etc. Constant propagation, function unfolding and structure transform are used to simplify the source program and yield the effective byte code program. The distributed partial evaluation framework is given and analyzed that client utilizes the specialized class file of the server, so locally speeds up the running process. The ray tracing application is performed to investigate the improvement of performance, that the speedup is achieved as expected that shows partial evaluation is beneficial to the performance of program.
What problem does this paper attempt to address?