DocumentCode
3471828
Title
Experiences with multi-threading and dynamic class loading in a Java just-in-time compiler
Author
Sundaresan, Vijay ; Maier, Daryl ; Ramarao, Pramod ; Stoodley, Mark
Author_Institution
IBM Canada Ltd, Markham, Ont., Canada
fYear
2006
fDate
26-29 March 2006
Abstract
In this paper, we describe the techniques that have been implemented in the IBM TestaRossa (TR) just-in-time (JIT) compiler to safely perform aggressive code patching and collect accurate profiles in the context of a Java application employing multiple threads and dynamic class loading and unloading. Previous work in these areas either did not account for the synchronization cost of safety or dynamic class loading/unloading effects in a heavily multithreaded program or did not consider how different patching techniques may be required for different platforms where instruction cache coherence guarantees vary. We evaluate the space and time overhead to make our profiling framework correct, showing that privatizing the profiling variables to achieve correctness impacts execution time only minimally but it can grow the stack frames for profiled methods by less than 15% on average for the SPECjvm98 and SPECjbb2000 benchmarks. Since methods are profiled for only a brief time and the stack frames themselves are not large, we do not consider this growth to be prohibitive. The techniques reported in this paper are implemented in the 1.5.0 release of the IBM Developer Kit for Java targeting 12 different processor-operating system platforms.
Keywords
Java; multi-threading; object-oriented programming; program compilers; IBM Developer Kit; IBM TestaRossa just-in-time compiler; Java just-in-time compiler; aggressive code patching; dynamic class loading; dynamic class unloading; multithreading; processor-operating system platforms; Computer languages; Costs; Java; Performance evaluation; Production; Program processors; Safety; Software design; Testing; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Code Generation and Optimization, 2006. CGO 2006. International Symposium on
Print_ISBN
0-7695-2499-0
Type
conf
DOI
10.1109/CGO.2006.16
Filename
1611532
Link To Document