Home  |   Login  |   Logout  |   Access Information  |   Alerts  |   Purchase History  |   Cart  |   Sitemap  |   Help   
 
CrossRef Search
BROWSE SEARCH IEEE XPLORE GUIDE SUPPORT
You requested this document:
1. Experiences with multi-threading and dynamic class loading in a Java just-in-time compiler
Sundaresan, V.; Maier, D.; Ramarao, P.; Stoodley, M.;
Code Generation and Optimization, 2006. CGO 2006. International Symposium on
26-29 March 2006 Page(s):11 pp.
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.
Abstract | Full Text: PDF(320 KB)    IEEE CNF
 
» Key
IEEE JNL IEEE Journal or Magazine
IEE JNL IEE Journal or Magazine
IEEE CNF IEEE Conference Proceeding
IEE CNF IEE Conference Proceeding
IEEE STD IEEE Standard
 
 
Indexed by IEE Inspec
© Copyright 2009 IEEE – All Rights Reserved