Abstract:Accessing to heap data brings main overhead for Java application. VM (virtual machine) researchers utilize prefetch or garbage collection to improve the performance, with the help of collected information of accesses to heap. The general methods to collect information are sampling and program instrumentation, however, they can't satisfy fine granularity and low overhead simultaneously. To satisfy these two requirements, this paper proposes an instrument- analysis framework for adaptive prefetch optimization in JVM, which instruments code to collect profiling information, and guide to dispatch code and perform prefetch according to feedback. The experimental results show that it achieves up to 18.1% speedup in industry-standard benchmark SPEC JVM98 and Dacapo on the Pentium 4, while the overhead is less than 4.0%.