Fast Execution

The JamaicaVM interpreter performs several selected optimizations to ensure optimal performance of the executed Java code. Nevertheless, realtime and embedded systems are often as well very performance-critical systems, so that a pure interpreter is not satisfactory. Current implementations of Java runtime-systems use just-in-time compilation technologies that are not applicable in realtime systems: The initial delay for compilation is breaking all realtime constraints.

The Jamaica Compilation Technology attacks the performance in a new way: Methods and classes can selectively be compiled as a part of the build process (static compilation). C-code is used as an intermediated target code[1], allowing easy porting to different target platforms. The Jamaica Compiler is tightly integrated into the memory management system, allowing highest performance and reliable realtime behaviour. No conservative reference finding code is required, allowing fully exact and predictable garbage collection.

Notes

[1]

For some target systems a native backend is available for Jamaica to generate machine code directly, e. g. ELF files with x86-code instructions