Persistence-Enabled Optimization of Java Programs

Whitlock, David Michael

Abstract

Programs contained within a persistent store provide a unique opportunity for whole-program analysis and optimization. In particular, several constraints on optimization can be relaxed in a persistent setting, allowing aggressive off-line optimizations to be performed. This work explores interprocedural optimizations of Java programs residing within a persistent store. Call site customization and method inlining are safely performed on Java methods without the need to adjust methods while they execute. A feedback mechanism between the Java virtual machine and the optimizer allows new classes to be added to the system while maintaining correctly optimized code. Our results show a significant decrease in the number of method invocations and a noticeable increase in performance in certain execution environments.

@mastersthesis{Whitlock2000MS,
  author = {Whitlock, David Michael},
  title = {Persistence-Enabled Optimization of Java Programs},
  school = {Purdue University},
  year = {2000},
  month = {May}
}