iOS 14.2 Adds Support For JIT Compilation, Bringing App Emulation A Performance Boost
Emulation on iOS has been something that developers have been able to do since the jailbreaking days, but Apple has silently added a feature that will make it all official. At least, kind of. With the arrival of iOS 14.2 Apple added support for Just-in-Time (JIT) compilation.
The addition of JIT means that emulators can now run at full speed on both iPhone and iPad. That’s because code can be converted to run natively on iOS as it’s required, rather than the whole thing being re-compiled before anything can happen.
Developer Riley Testut spoke with 9to5Mac, outlining some of the important notes here.
For example, with JIT Delta could in theory emulate more powerful systems such as PS2, GameCube, and Wii; without JIT, we’d need to wait several more years before the hardware was capable of that. At first I was skeptical, but am now leaning more towards thinking this was an intentional change.
Apps are still limited to being sideloaded for now, so don’t expect to see these things land on the App Store just yet. However, it could happen in the future.
I doubt limiting JIT to just sideloaded apps was the intention behind this (and more likely is tied to the need for apps to run unsigned code when debugging with Xcode), but I’d be curious to see if this restriction remains long-term.
Thanks to this change in iOS 14.2 — and combined with the new “Extended Virtual Addressing” entitlement — it’s now possible to emulate GameCube and Wii games at 100% speed WITHOUT jailbreaking or using private entitlements 😱 https://t.co/gOIBcxCZ0Kpic.twitter.com/AF548pvKPl
Ultimately the addition of JIT might not be a huge deal for 99% of users. But it could open up a new world of emulation that was previously closed off. And that’s a great thing for anyone who wants to play GBA games on their iPhone at the very least.