I worked for a big wireless handset maker. Our team was porting J2ME to the ARM-based handsets. We had 2 guys working on using Jazelle; no OS, just on raw ARM9 silicon. Sadly, it stayed in research because the JIT got the performance we needed without having to pay the license fees for Jazelle.
If you accept the rule-of-thumb that running the Hotspot JVM without JIT runs at 1/10th of compiled C. Then, JIT returns 50% of what you lost and Jazelle returns 60% of what you lost. These are very rough estimates. It all depends on the kind of code that is running. Jazelle had slightly better performance for our test cases because it handled more situations than the JIT. Whereas the JIT went compiled-C-fast in a handful of cases.
The previous poster seems to misunderstand Jazelle. Jazelle causes a trap-like action for a Java bytecode. The user must supply code snippets to handle each bytecode. Without such snippets and the lookup table, you are going to get the unimplemented exception.