A Dynamic Compiler for an Embedded Java Virtual Machine
In recent years, embedded systems such as Cell phones and Personal Organizers have taken an important place in our business and private lives. A growing interest in the development of applications that can run on different sorts of devices has emerged. Java, thanks to its platform independent bytecode, becomes rapidly an obvious choice for such applications. However, as in standard systems (desktop and server), the major limit of Java in embedded systems remains its slow performance.
This book discusses techniques to improve Java performance in embedded systems. It starts by a description of Java optimization techniques in standard platforms, in particular dynamic (or Just- In-Time) compilation. Then, it details Java optimization approaches specific to embedded systems. The second part of the book is a detailed illustration of the design and implementation of a very lightweight dynamic compiler upon an embedded Java virtual machine, the Kilo Virtual Machine (KVM). The improved Java virtual machine (called E- Bunny) outperformed the standard KVM by a factor of 4 (400%).
Sami Zhioua holds a B.Sc. degree from University of Tunis, Tunisia, and an M.Sc. and a Ph.D. degrees from Laval University, Canada, all in computer science. In January 2008, he joined the computer science department of McGill University, Canada, as a postdoctoral research fellow.