Apple has quietly introduced a new change in iOS 14.2 which enables just-in-time compilation for apps. The feature is available for apps that are sideloaded on iOS, and allows virtual machines or game emulation at full speed, without the need for jailbreaking or any hacks.
Just-in-time compilation in iOS 14.2
iOS 14.2 was just released a couple of days ago with 100 new emojis, wallpapers, HomePod intercom, and much more. However, Apple did not mention any update regarding just-in-time compilation, which would usually be a developer-facing feature. AltStore, the app that lets users sideload apps to iOS and iPadOS, tweeted about this change in iOS 14.2, which allows performance heavy app like virtual machines and gaming emulators to work without any performance penalty.
UTM app, which allows users to install virtual machines on their iOS devices, confirmed this a few days ago and noted that AltStore would need some updates to support this.
JIT works again on iOS 14.2 (all devices, paid or free accounts). Three changes to AltStore are needed. https://t.co/MfaR78CEP4 https://t.co/Sl5Vh9APNt https://t.co/2BsbStonGg (cc @rileytestut @altstoreio )
— UTM (@UTMapp) November 2, 2020
The latest AltStore 1.4.2 beta update allows sideloaded apps to take advantage of just-in-time compilation.
https://twitter.com/altstoreio/status/1324473755062599680
Although this does not apply to App Store apps yet, it is still good news for users who want to sideload apps and install virtual machines on their powerful iOS devices. For users who have access to gaming ROMs, they will also see a noticeable improvement in performance, no matter which console they emulate.
Riles, the developer behind AltStore, shared an example on Twitter of GameCube and Wii games emulation working at full performance without relying on any private APIs or jailbreaks.
https://twitter.com/rileytestut/status/1324492062503231488
What does just-in-time compilation do in iOS 14.2?
Just-in-time compilation is a method in which code is compiled in realtime, during execution, to native code that the system understands. Usually, code for apps on iOS is pre-compiled, so this is a major change from Apple. JIT compilation could allow emulation for game consoles, and virtual machines, as well as allow browsers like Chrome and Firefox to use their own browser engines.
There is no indication as to whether Apple intends to allow newer types of apps in the App Store that take advantage of this. It might be possible that this change has something to do with Apple Silicon Macs, as many apps will be able to share code between both platforms, thanks to Apple’s Project Catalyst. For now, users can only take advantage of this feature through sideloading apps that support this feature. At the moment, these apps include DolphiniOS and UTM app, which have to be sideloaded via AltStore.