Embedded platforms are increasingly used to connect to the Web and are executing mobile code. These platforms are a resource-constrained environment in which interpreted execution of mobile codes is the norm because dynamic compilation is not feasible. At the same time, the performance of the executed code is of critical importance and is often a limiting factor in both the capabilities of the system and user perception.
The goals of the research proposed here are 1) to significantly improve interpreter performance for mobile code on embedded platforms without increasing resource requirements and 2) to design a resource constrained dynamic compilation system to be used with an interpreter for adaptive optimization to further improve the performance.
The goals will be achieved by using extensive compile-time analysis and by passing the results of the analysis to the interpreter running on a client system via code annotations. Annotations will identify super-operators, groups of instructions that can be executed as a unit and optimized together. This will allow a more efficient interpretation by minimizing communication overhead and dispatch costs. Annotations will also permit adaptive dynamic optimization requiring fewer resources and little or no overhead.