Improving Mobile Program Performance Through the Use of a Hybrid Intermediate Representation

Chandra Krintz


We present a novel transfer format for mobile programs that is a hybrid of two existing formats: bytecode and SafeTSA. Java bytecode offers a compact representation and ease of interpretation (fast-compilation); SafeTSA offers amenability to optimization. We use program profiling to guide format selection at the method-level. Methods deemed ``hot'' are those for which optimization should be expended and as such, are encoded using the SafeTSA format. All other methods are encoded using bytecode. Our hybrid format exploits the benefits of each constituent format to reduce compilation, execution, and transfer overhead.