據(jù)外媒 9to5mac 報道,iOS 14.2 現(xiàn)已引入 JIT編譯支持。
什么是 JIT?
正如字面意思,JIT—— just in time,即時編譯。如果一個程序在它運行的時候創(chuàng)建并且運行了全新的代碼,而非那些最初作為這個程序的一部分保存在硬盤上的固有的代碼,即為 JIT。
說人話:JIT可以在固有代碼的基礎上生成新的代碼,并自己運行新生成的代碼。
有什么意義?
雖然蘋果沒有特意提到,但通過外媒 9to5mac 今日報道,可確認 iOS 14.2 中已引入 JIT編譯支持特性。
在此之前,網(wǎng)傳最廣的說法是,由于審查等敏感問題,蘋果不提供修改內(nèi)存頁面的訪問權(quán)限的 API,也禁止對 POSIX 函數(shù) mprotect()的調(diào)用,所以也無法實現(xiàn) JIT。簡單來說,IOS 封禁了內(nèi)存(或者堆)的可執(zhí)行權(quán)限,從而從根本上干掉了 JIT的存在。
雖然蘋果一直不支持 JIT,但一些開發(fā)人員已實現(xiàn)通過 hack 途徑達成 JIT的特性,但這會影響 App 運行的效率并帶來玄學 bug。此外,這種漏洞在 iOS 14 中已被封殺。
而現(xiàn)在蘋果在 iOS 14.2 中默默推出 JIT的原因是?
不知道,但不可否認的是,這將為仿真應用(非官方 App)在 iPhone 和 iPad 上全速運行提供了可能。
正文
外媒就此采訪了開發(fā)者 Testut,她表示蘋果實際上已在 Beta 版本中加入了 JIT支持,且保留到正式版本中,雖然一句話沒有提,但這大概率是蘋果官方表態(tài)而非 bug。
借助 iOS 14.2 上的 JIT編譯支持,仿真應用現(xiàn)在可以在 iOS 中全速運行,而不會受到攻擊和其他損失。
“例如,JITDelta 可以模擬更強大的系統(tǒng),比如?PS2,GameCube 和 Wii。如果沒有 JIT,開發(fā)者們將需要再等幾年,才能使硬件具備此功能。起初我對此表示懷疑,但現(xiàn)在更傾向于認為這是蘋果有意的更改。”
但是,這并不意味著用戶會在 App Store 中看到仿真應用,用戶甚至看不到任何使用 JIT的應用程序。Testut 表示,當前的實現(xiàn)方法僅適用于側(cè)面加載的應用,這些應用通常是通過 Xcode 和其他開發(fā)人員工具而非 App Store 安裝的。換句話說,這是供專門的開發(fā)人員調(diào)試 App 所使用的功能。
“我懷疑將 JIT限制為僅側(cè)加載的應用是其背后的意圖(而且更可能與使用 Xcode 進行調(diào)試時應用運行未簽名代碼的需求有關(guān)),但是我很想知道這種限制是否會長期存在。”
責任編輯:PSY
-
仿真
+關(guān)注
關(guān)注
51文章
4234瀏覽量
135286 -
iOS
+關(guān)注
關(guān)注
8文章
3399瀏覽量
152491 -
源代碼
+關(guān)注
關(guān)注
96文章
2950瀏覽量
67828 -
JIT
+關(guān)注
關(guān)注
0文章
7瀏覽量
9785
發(fā)布評論請先 登錄
新品 | 服務:InfineonSpice 離線仿真工具

概倫電子先進數(shù)字仿真器VeriSim介紹
請問TapLinx IOS SDK與Xcode 16不兼容嗎?
大規(guī)模硬件仿真系統(tǒng)的編譯挑戰(zhàn)

Triton編譯器在高性能計算中的應用
Triton編譯器的優(yōu)化技巧
Triton編譯器的優(yōu)勢與劣勢分析
Triton編譯器與其他編譯器的比較
Triton編譯器功能介紹 Triton編譯器使用教程
仿真系統(tǒng)的性能優(yōu)化技巧
如何通過建模與仿真提升電力電子組件的設計與性能?

【產(chǎn)品介紹】Simcenter Amesim系統(tǒng)仿真軟件

評論