JCOD1 is a new compiler technology for appliances such as mobile phones or printers running embedded Java programs. Interpreted
Java is sometimes too slow and one would like to compile bytecode into native code as this is achieved in JIT compilers on
desktops. Our approach takes into account the memory and CPU constraints of the appliances. We have designed a distributed
technology to efficiently detect “hot spots” of the application and compile them out of the appliance, on a network compile
server that uses a lot of code size optimizations. This paper describes the different components and exhibits their flexibility.
They can easily be upgraded independently or tailored for a specific kind of applications running on a given appliance.
This work was accomplished with funding from Hewlett-Packard Corporation and a grant from the Japanese government, through
its IPA agency.