Apple ha senza grande clamore introdotto il supporto alla compilazione Just-In-Time (JIT) in iOS 14.2, tecnica che permette di aumentare la velocità di esecuzione di programmi interpretati.
Questa tecnica consente, tra le altre cose, di eseguire emulatori a piena velocità su iPad e iPhone. A riferirlo è il sito 9to5Mac al quale Riley Testut, lo sviluppatore di AltStore (uno store alternativo per iOS che non richiede il jailbreak), ha inviato dettagli.
La compilazione JIT o Just-In-Time è, come accennato, una tecnica che consente di eseguire il software che verrà compilato durante l’esecuzione. Le applicazioni sono tipicamente compilate prima dell’esecuzione; con JIT il codice sorgente è tradotto dinamicamente in linguaggio macchina in tempo reale.
Apple non ha mai ufficialmente supportato la compilazione JIT su iOS ma alcuni sviluppatori sono riusciti a superare questa limitazione con hack che però spesso comportano bug e prestazioni ridotte. I meccanismi che consentivano di bypassare le limitazioni imposte da Apple sono stati rimossi da iOS 14 ma Apple – senza grande clamore – dalla beta 2 di iOS 14.2 ha integrato il supporto per la compilazione JIT. Il supporto è stato attivato in due beta di iOS 14.2 ed è presente nella release finale (per tutti) del sistema operativo. Secondo Riley Testut, si tratta di una precisa scelta di Apple e non di un errore, anche se non ci sono conferme specifiche.
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
Ad ogni modo con il supporto JIT su iOS 14.2 le app di emulazione possono essere eseguite a piena velocità senza hack, jailbreak e altri meccanismi poco ortodossi. Lo sviluppatore riferisce la possibilità di emulare sistemi come PS2, GameCube, e Wii a piena velocità; senza il supporto di JIT sarebbero necessari ancora molti anni per avere una velocità tale da consentire di eseguire questi emulatori. Tutto questo non vuol dire che vedremo a breve emulatori di queste macchine sull’App Store o altri tipi di app che sfruttano JIT; si tratta, almeno al momento, di una funzionalità pensata per gli sviluppatori che possono sfruttarla con Xcode e altri tool a loro dedicati. Ad ogni modo, chi usa AltStore secondo Testut potrà a breve sfruttarla con app quali UTM che consente di avere macchine virtuali su iOS e DolphiniOS, e disporre in pratica di emulatori GameCube e Wii per iPad e iPhone, eseguiti al massimo della velocità.