據(jù)外媒 9to5mac 報(bào)道,iOS 14.2 現(xiàn)已引入 JIT編譯支持。
什么是 JIT?
正如字面意思,JIT—— just in time,即時(shí)編譯。如果一個(gè)程序在它運(yùn)行的時(shí)候創(chuàng)建并且運(yùn)行了全新的代碼,而非那些最初作為這個(gè)程序的一部分保存在硬盤上的固有的代碼,即為 JIT。
說人話:JIT可以在固有代碼的基礎(chǔ)上生成新的代碼,并自己運(yùn)行新生成的代碼。
有什么意義?
雖然蘋果沒有特意提到,但通過外媒 9to5mac 今日?qǐng)?bào)道,可確認(rèn) iOS 14.2 中已引入 JIT編譯支持特性。
在此之前,網(wǎng)傳最廣的說法是,由于審查等敏感問題,蘋果不提供修改內(nèi)存頁面的訪問權(quán)限的 API,也禁止對(duì) POSIX 函數(shù) mprotect()的調(diào)用,所以也無法實(shí)現(xiàn) JIT。簡單來說,IOS 封禁了內(nèi)存(或者堆)的可執(zhí)行權(quán)限,從而從根本上干掉了 JIT的存在。
雖然蘋果一直不支持 JIT,但一些開發(fā)人員已實(shí)現(xiàn)通過 hack 途徑達(dá)成 JIT的特性,但這會(huì)影響 App 運(yùn)行的效率并帶來玄學(xué) bug。此外,這種漏洞在 iOS 14 中已被封殺。
而現(xiàn)在蘋果在 iOS 14.2 中默默推出 JIT的原因是?
不知道,但不可否認(rèn)的是,這將為仿真應(yīng)用(非官方 App)在 iPhone 和 iPad 上全速運(yùn)行提供了可能。
正文
外媒就此采訪了開發(fā)者 Testut,她表示蘋果實(shí)際上已在 Beta 版本中加入了 JIT支持,且保留到正式版本中,雖然一句話沒有提,但這大概率是蘋果官方表態(tài)而非 bug。
借助 iOS 14.2 上的 JIT編譯支持,仿真應(yīng)用現(xiàn)在可以在 iOS 中全速運(yùn)行,而不會(huì)受到攻擊和其他損失。
“例如,JITDelta 可以模擬更強(qiáng)大的系統(tǒng),比如?PS2,GameCube 和 Wii。如果沒有 JIT,開發(fā)者們將需要再等幾年,才能使硬件具備此功能。起初我對(duì)此表示懷疑,但現(xiàn)在更傾向于認(rèn)為這是蘋果有意的更改。”
但是,這并不意味著用戶會(huì)在 App Store 中看到仿真應(yīng)用,用戶甚至看不到任何使用 JIT的應(yīng)用程序。Testut 表示,當(dāng)前的實(shí)現(xiàn)方法僅適用于側(cè)面加載的應(yīng)用,這些應(yīng)用通常是通過 Xcode 和其他開發(fā)人員工具而非 App Store 安裝的。換句話說,這是供專門的開發(fā)人員調(diào)試 App 所使用的功能。
“我懷疑將 JIT限制為僅側(cè)加載的應(yīng)用是其背后的意圖(而且更可能與使用 Xcode 進(jìn)行調(diào)試時(shí)應(yīng)用運(yùn)行未簽名代碼的需求有關(guān)),但是我很想知道這種限制是否會(huì)長期存在。”
責(zé)任編輯:PSY
-
仿真
+關(guān)注
關(guān)注
50文章
4124瀏覽量
134002 -
iOS
+關(guān)注
關(guān)注
8文章
3399瀏覽量
150991 -
源代碼
+關(guān)注
關(guān)注
96文章
2946瀏覽量
66960 -
JIT
+關(guān)注
關(guān)注
0文章
7瀏覽量
9740
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Triton編譯器在高性能計(jì)算中的應(yīng)用
Triton編譯器的優(yōu)化技巧
Triton編譯器的優(yōu)勢與劣勢分析
Triton編譯器與其他編譯器的比較
Triton編譯器功能介紹 Triton編譯器使用教程
仿真系統(tǒng)的性能優(yōu)化技巧
如何通過建模與仿真提升電力電子組件的設(shè)計(jì)與性能?
![如何通過建模與<b class='flag-5'>仿真</b>提升電力電子組件的設(shè)計(jì)與<b class='flag-5'>性能</b>?](https://file1.elecfans.com/web1/M00/F5/CB/wKgaoWdD8I2AEzX1AAAvnpdGRJE077.png)
【產(chǎn)品介紹】Simcenter Amesim系統(tǒng)仿真軟件
![【產(chǎn)品介紹】Simcenter Amesim系統(tǒng)<b class='flag-5'>仿真</b>軟件](https://file1.elecfans.com/web2/M00/05/C8/wKgZomberEOAN841AAAsGK6TY38525.png)
示波器探頭在測試的時(shí)候會(huì)引入什么負(fù)載效應(yīng)
IOS12以上搜索不到藍(lán)牙是怎么回事?
編譯components文件夾內(nèi)容引入的頭文件不對(duì)怎么處理?
深度學(xué)習(xí)編譯工具鏈中的核心——圖優(yōu)化
![深度學(xué)習(xí)<b class='flag-5'>編譯</b>工具鏈中的核心——圖優(yōu)化](https://file1.elecfans.com/web2/M00/E6/DB/wKgaomZFpayACW6VAAXaLP8hLwM545.png)
評(píng)論