Transparent Gif

Department of Computer Science

University of California, Santa Barbara

Abstract

Profile-driven Code Unloading for Resource-contrained JVMs

by: Lingli Zhang and Chandra Krintz

Abstract:

Java virtual machines (JVMs) have become increasingly popular forexecution of a wide range of applications on mobile and embedded devices.Most JVMs for such devices execute programs using interpretation.However, JVMs that use dynamic compilation have been shown to enable significant performance improvements.A disadvantage of a compile-only approach in resource-constrainedenvironments is that it uses more memory than interpretationto store compiled code for reuse. In this paper, we address this limitation with techniques that attempt to automatically unload dead or infrequently used native code to reduce the memory footprint of a compile-only JVM. We describe a number of profile-basedstrategies that identify unloading candidates.Our empirical evaluation, using a number of common benchmarks,indicates that dynamic code unloading can reduce code size significantly with negligible overhead. When memory is highly constrained, this reduction translates into significant execution time benefits for the benchmarks, JVM, and JVM configuration that we investigated.

Keywords:

code unloading, Java virtual machine, Just-in-time compilation,profile-driven

Date:

January 2004

Document: 2004-03

XHTML Validation | CSS Validation
Updated 14-Nov-2005
Questions should be directed to: webmaster@cs.ucsb.edu