3 ms·
Machine code translation is exactly how Intel Atom Android phones support apps containing native ARM code. Intel has a translator from ARM to x86 or x86_64 call
by versteegen 10y ago
Machine code translation is exactly how Intel Atom Android phones support apps containing native ARM code. Intel has a translator from ARM to x86 or x86_64 called Houdini. (I never managed to find any detailed information about it, it's propriety). Even if you're developing an app for Android using the NDK you may not realise that your phone doesn't have an ARM processor. Few people bother to ship x86 binaries, and the fact that works so well is why they still don't even as x86 devices become more common (they're mostly tablets). Compatibility is around 80% of apps [0], and the performance hit is somewhat substantial (e.g. 2x) but doesn't matter for most apps.
[0] https://regmedia.co.uk/2014/04/30/watt_compatibility_large.jpg https://regmedia.co.uk/2014/04/30/watt_compatibility_large.j...
[1] https://commonsware.com/blog/2013/11/21/libhoudini-what-it-means-for-developers.html https://commonsware.com/blog/2013/11/21/libhoudini-what-it-m...