We want to specially thank Bryce McKinlay for implementing the indirect dispatching scheme for GCJ and his inspiring discussion on related issues, and Manish Gupta for keeping us informed about the state-of-the-art in dynamic Java compilers. We also thank many posters on the GCJ mailing list (java@gcc.gnu.org) for answering our questions about the GCJ internals, Greg Collins and Andrew McCreight for valuable comments on an early version of our paper, and the anonymous reviewers.