This is completely off-topic, but the theoretical upper limit of speed for JIT execution is faster than static native code, including ASM, due to context-dependent continuous optimisation. We're not there yet but it is just a matter of implementation. The Dalvik VM on Android doesn't attempt to get the fastest theoretically possible execution speed because that's not its focus.