"If they are going to have backwards compatibility on an ARM chip then the ARM chip will have to emulate an x86 chip to run it."
Really? I'm no Comp.Sci. grad, but surely it would be up to the kernel to translate whatever calls were coming through into what the CPU can deal with and back again? Or if not the kernel, then the virtual machine that is translating the byte-code.
And if something like that is not going on - how the heck does Linux manage to support AMD and Intel at the exact same time?
Even then, emulation/virtualisation would allow you to isolate the executing code from the underlying hardware.