Appleが先日公開したiOS 14.2で、JIT(Just-In-Time: 実行時)コンパイル機能が密かにサポートされている事がわかり話題となっています(9to5Mac)。
JITコンパイルは、従来のソフトウェアが実行前に完全にコンパイルされるのに対し、実行時にコンパイルする方式です。事前コンパイル方式で可能な高度な最適化は適用できませんが、マシンに依存しないソースコードや中間コードからリアルタイムでネイティブコードを生成できるという利点があります。
AppleはiOSでこれまでJITコンパイルを公式にサポートしておらず、JITコンパイルを利用するには、パフォーマンスの低下をもたらす裏技的な手法を利用する以外の道がありませんでした。
Appleが、iOS 14.2でJITコンパイルをサポートした意図ははっきりとしませんが、現在の実装は、Xcodeや開発者向けツールを利用してインストールすることができる、サイドロードアプリに対してのみ動作することから、デバッグのための開発者向けの機能だと見込まれています。
ユーザーの観点からするとAltStoreなどで配布されている、各種ゲーム機のエミュレーションアプリが高速に動作するようになる事が期待できますが、AppleがJITコンパイル機能を今後もサポートする予定があるのかどうかは不明です。