The justification that I\'ve seen for shall we say \"Bastardizing\" the Java bytecodes in Android was performance. (I suspect there is another reason.) However by changing the
I was actually under the impression that Dalvik was intended more for space efficiency than execution efficiency. Also from Wikipedia:
An uncompressed .dex file is typically a few percent smaller in size than a compressed .jar (Java Archive) derived from the same .class files.
While the current phones may use an ARM with Jazelle support, that's not necessarily true going forward.
Also from Wikipedia (warning: hearsay):
The published specifications are very incomplete, being only sufficient for writing operating system code that can support a JVM that uses Jazelle. The declared intent is that only the JVM software needs to (or is allowed to) depend on the hardware interface details. This tight binding facilitates that the hardware and JVM can evolve together without affecting other software. In effect, this gives ARM Holdings considerable control over which JVMs are able to exploit Jazelle. It also prevents open source JVMs from using Jazelle.
Once they add a JITter to Dalvik, it will all be a moot point.