Jazelle DBX is an extension that allows certain ARM processors to execute Java bytecode in hardware alongside their existing modes. The technology was first implemented in the ARM926EJ-S processor. Jazelle DBX is commonly used by mobile phone manufacturers to increase the speed of Java ME games and applications. Approximately 95% of bytecode in typical program usage can be directly processed in the hardware. ARM has tight control over which JVMs can exploit Jazelle, which prevents open source JVMs from using the technology. The Jazelle extension uses low-level binary translation to convert recognized bytecodes into native ARM instructions. Jazelle mode reduces interpretation costs and the need for Just-in-time compilation. Jazelle-aware JVMs attempt to run Java bytecode in hardware and switch to software for more complicated operations. The exact execution environment details and application binary interface for Jazelle are not published by ARM, making it an undocumented feature for most users. Jazelle uses the ARM CPSR to indicate the current instruction set and can be switched to via the BXJ instruction. The Jazelle mode reexecutes the complete sequence of related ARM instructions when restarting a bytecode. Unhandled bytecodes or bytecodes overridden by the operating system invoke the software
https://en.wikipedia.org/wiki/Jazelle