|[LiGe-01]||G√∂tz Lindenmaier, Rubino Gei√ü, Global Configuration of Cache Optimizations, Proceedings of JOSES: Java Optimization Strategies for Embedded Systems, p. 0-10, DISI, University of Genova, Apr 2001.
Compiler constructors increasingly face a dilemma: Compute intensive
applications that are written in Java to improve maintainability need to
be executed on small embedded processors. Therefore we address cache
optimizations for Java programs that target an embedded processor. We
present a bytecode to native code compiler that performs these
optimizations. It incorporates an analysis that finds Java arrays which
can be subject to layout optimizations. A novel framework then determines
a cache specific layout for these arrays. The framework can incorporate
any layout optimizations that addresses a single loop. Based on proposals
of such individual optimizations it decides on a dynamic layout for a
whole procedure, i.e., if desirable the layout is changed between loops.
The framework compares the efficiencies of the proposals and also
considers the cost of establishing the layout. With preliminary
experiments we show the potential of our framework.