DocumentCode
1564706
Title
Retargeting JIT compilers by using C-compiler generated executable code
Author
Ertl, M. Anton ; Gregg, David
Author_Institution
Technische Univ. Wien, Austria
fYear
2004
Firstpage
41
Lastpage
50
Abstract
JIT compilers produce fast code, whereas interpreters are easy to port between architectures. We propose to combine the advantages of these language implementation techniques as follows: we generate native code by concatenating and patching machine code fragments taken from interpreter-derived code (generated by a C compiler); we completely eliminate the interpreter dispatch overhead and accesses to the interpreted code by patching jump target addresses and other constants into the fragments. In this paper we present the basic idea, discuss some issues in more detail, and present results from a proof-of-concept implementation, providing speedups of up to 1.87 over the fastest previous interpreter-based technique, and performance comparable to simple native-code compilers. The effort required for retargeting our implementation from the 386 to the PPC architecture was less than a person-day.
Keywords
C language; performance evaluation; program compilers; program interpreters; C-compiler; JIT compilers; interpreter-derived code; language implementation techniques; native-code compilers; Computer languages; Educational institutions; Optimizing compilers; Parallel architectures; Program processors; Testing; Turning;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel Architecture and Compilation Techniques, 2004. PACT 2004. Proceedings. 13th International Conference on
ISSN
1089-795X
Print_ISBN
0-7695-2229-7
Type
conf
DOI
10.1109/PACT.2004.1342540
Filename
1342540
Link To Document