BLOAT is Java bytecode optimizer written entirely in Java that was
developed by Nathaniel Nystrom and improved by David Whitlock in their
graduate studies at Purdue, supervised by Antony Hosking. By optimizing
Java bytecode, code improvements can occur regardless of the compiler that
compiled the bytecode or the virtual machine on which the bytecode is run.
BLOAT performs many traditional program optimizations such as constant/copy
propagation, constant folding and algebraic simplefication, dead code
elemination, and peephole optimizations. Additionally, it performs partial
redundency elimination of arithmetic and field access paths.
BLOAT is part of the ongoing research efforts of the
Programming for Persistent Systems research group at Purdue
University. Originally, BLOAT technology was being applied to classes
residing inside the persistent PJama environment.
The Bytecode-Level Optimizer and Analysis Tool