iOS 14.2 features Just-In-Time (JIT) compilation, which should significantly speed up emulation app performance.
JIT compilation involves compiling code while the application is running, as opposed to building the application ahead of time, as in Ahead-Of-Time (AOT) compilation. This gives developers more flexibility, as JIT compilation has some of the advantages of an interpreted language, such as Perl, Ruby, PHP and others. At the same time, JIT offers performance on par, or nearly on par, with AOT compilation, making it a much better option for apps that emulate other operating systems.
Riley Testut, the creator of Apple App Store alternative AltStore, found the change in iOS 14.2 that enables JIT compilation. Testut’s work focuses on allowing iOS users to sideload apps without jailbreaking their devices. The AltStore does this by using a method Apple created to allow developers to load their own apps on to devices.
Testut was quick to point out that JIT compilation will allow iOS users to run emulators without jailbreaking.
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/gOIBcxCZ0K pic.twitter.com/AF548pvKPl— Riles (@rileytestut) November 5, 2020
Apple has yet to formally announce JIT compilation in iOS 14.2, so it remains to be seen what their plans are. It’s entirely possible this is simply a developer tool that Testut has figured out how to exploit. Or Apple may have some long-term plans for the future.