0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

iOS 14.2 引入JIT編譯 仿真應(yīng)用可具有更佳性能

工程師鄧生 ? 來源:IT之家 ? 作者:問舟 ? 2020-11-07 09:30 ? 次閱讀

據(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)為這是蘋果有意的更改?!?/p>

但是,這并不意味著用戶會(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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    3995

    瀏覽量

    133222
  • iOS
    iOS
    +關(guān)注

    關(guān)注

    8

    文章

    3383

    瀏覽量

    150299
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2943

    瀏覽量

    66568
  • JIT
    JIT
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    9720
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    編譯components文件夾內(nèi)容引入的頭文件不對(duì)怎么處理?

    最近在移植LVGL,需要自己寫RGB驅(qū)動(dòng) 我把LVGL放在components文件夾中,但編譯的時(shí)候提示缺少esp_lcd下頭文件的引用 仔細(xì)找了一下發(fā)現(xiàn),編譯components內(nèi)容的時(shí)候只引入
    發(fā)表于 06-17 07:35

    主流電路仿真軟件有哪些

    Program with Integrated Circuit Emphasis) SPICE是最早也是最為廣泛使用的電路仿真軟件之一。它由加州大學(xué)伯克利分校開發(fā),可用于模擬和分析各種電子電路,包括模擬電路、混合信號(hào)電路和數(shù)字電路等。SPICE具有強(qiáng)大的
    的頭像 發(fā)表于 04-21 10:23 ?2205次閱讀

    蘋果承諾:2025年秋季iOS與Android數(shù)據(jù)互換

    該公司已在最新發(fā)布的“DMA合規(guī)報(bào)告非機(jī)密摘要”中展示了未來幾周將對(duì)iOS系統(tǒng)做出的調(diào)整,其重心便是提升iOS與其它操作系統(tǒng)之間用戶數(shù)據(jù)的“遷移性”。
    的頭像 發(fā)表于 03-08 11:06 ?542次閱讀

    如何提高Simulink仿真性能呢?有哪些使用技巧?

    無論模型的復(fù)雜程度如何,每個(gè) Simulink 用戶都希望提高仿真性能。本文介紹了許多實(shí)用技巧和技術(shù),來幫助您在仿真工作流中獲得最佳的性能
    的頭像 發(fā)表于 01-18 10:01 ?846次閱讀
    如何提高Simulink<b class='flag-5'>仿真性能</b>呢?有哪些使用技巧?

    Multisim14.2中CD4538高電平輸出為什么只有5V?

    在Multisim仿真過程中發(fā)現(xiàn)CD4538在采用10V供電電源、輸入信號(hào)均為10V的情況下高電平輸出只有4.5V,如下圖所示。 仿真用了Multisim14.0、Multisim14.2兩個(gè)版本
    發(fā)表于 01-17 10:24

    VCS 仿真option 解析

    VCS的仿真選項(xiàng)分編譯(compile-time)選項(xiàng)和運(yùn)行(run-time)選項(xiàng)。編譯選項(xiàng)用于RTL/TB的編譯,一遍是編譯了就定了,不
    的頭像 發(fā)表于 01-06 10:19 ?2138次閱讀

    使用仿真模型進(jìn)行拓?fù)浞治?/a>

    過去,仿真的基礎(chǔ)是行為和具有基本結(jié)構(gòu)的模型,它們主要適用于簡單集成電路技術(shù)中使用的器件。但是,當(dāng)涉及到功率器件時(shí),這些簡單的模型通常無法預(yù)測與為優(yōu)化器件所做的改變相關(guān)的現(xiàn)象?,F(xiàn)在,通過引入物理和
    的頭像 發(fā)表于 01-05 10:04 ?799次閱讀
    使用<b class='flag-5'>仿真</b>模型進(jìn)行拓?fù)浞治? />    </a>
</div>                            <div   id=

    使用Cauer網(wǎng)絡(luò)仿真熱行為與對(duì)開關(guān)損耗影響的評(píng)估

    過去,仿真的基礎(chǔ)是行為和具有基本結(jié)構(gòu)的模型,它們主要適用于簡單集成電路技術(shù)中使用的器件。但是,當(dāng)涉及到功率器件時(shí),這些簡單的模型通常無法預(yù)測與為優(yōu)化器件所做的改變相關(guān)的現(xiàn)象?,F(xiàn)在,通過引入物理和
    的頭像 發(fā)表于 12-29 16:02 ?1488次閱讀
    使用Cauer網(wǎng)絡(luò)<b class='flag-5'>仿真</b>熱行為與對(duì)開關(guān)損耗影響的評(píng)估

    SiC仿真攻略手冊——詳解物理和擴(kuò)展仿真模型功能!

    點(diǎn)擊藍(lán)字?關(guān)注我們 過去,仿真的基礎(chǔ)是行為和具有基本結(jié)構(gòu)的模型。這些模型使用的公式我們在學(xué)校都學(xué)過,它們主要適用于簡單集成電路技術(shù)中使用的器件。但是,當(dāng)涉及到功率器件時(shí),這些簡單的模型通常無法預(yù)測
    的頭像 發(fā)表于 12-25 19:10 ?1007次閱讀
    SiC<b class='flag-5'>仿真</b>攻略手冊——詳解物理和<b class='flag-5'>可</b>擴(kuò)展<b class='flag-5'>仿真</b>模型功能!

    Triton編譯器的原理和性能

    Triton是一種用于編寫高效自定義深度學(xué)習(xí)原語的語言和編譯器。Triton的目的是提供一個(gè)開源環(huán)境,以比CUDA更高的生產(chǎn)力編寫快速代碼,但也比其他現(xiàn)有DSL具有更大的靈活性。Triton已被采用
    的頭像 發(fā)表于 12-16 11:22 ?2508次閱讀
    Triton<b class='flag-5'>編譯</b>器的原理和<b class='flag-5'>性能</b>

    .NET8為什么要引入Non-GC Heap這種機(jī)制呢?

    .NET8里面JIT引入了一個(gè)新的機(jī)制,叫做Non-GC Heap。JIT可以確保相關(guān)對(duì)象分配在Non-GC Heap上,該堆像其名稱一樣,不受GC管理。
    的頭像 發(fā)表于 11-28 10:38 ?584次閱讀

    編譯器的優(yōu)化選項(xiàng)

    一個(gè)程序首先要保證正確性,在保證正確性的基礎(chǔ)上,性能也是一個(gè)重要的考量。要編寫高性能的程序,第一,必須選擇合適的算法和數(shù)據(jù)結(jié)構(gòu);第二,應(yīng)該編寫編譯器能夠有效優(yōu)化以轉(zhuǎn)換成高效可執(zhí)行代碼的源代碼,要做到
    的頭像 發(fā)表于 11-24 15:37 ?806次閱讀
    <b class='flag-5'>編譯</b>器的優(yōu)化選項(xiàng)

    PCB仿真軟件有哪些?PCB仿真軟件是如何進(jìn)行LAYOUT仿真的?

    PCB仿真軟件有哪些?PCB仿真軟件是如何進(jìn)行LAYOUT仿真的? PCB仿真軟件是為了幫助電子工程師在設(shè)計(jì)和開發(fā)PCB電路板時(shí)進(jìn)行各種仿真
    的頭像 發(fā)表于 11-24 14:51 ?1.1w次閱讀

    TorchScript的重要特性和用途

    (intermediate representation, IR),IR 經(jīng)過內(nèi)部優(yōu)化,并在運(yùn)行時(shí)使用 PyTorch JIT 編譯。 PyTorch JIT 編譯器使用運(yùn)行時(shí)信息來優(yōu)
    的頭像 發(fā)表于 11-08 16:56 ?442次閱讀

    飛機(jī)液壓系統(tǒng)關(guān)鍵部件性能退化建模與仿真

    退化模型,應(yīng)用Matlab/AMESim聯(lián)合仿真的方法,對(duì)飛機(jī)液壓系統(tǒng)性能衰退過程進(jìn)行了仿真研究,仿真結(jié)果揭示了因關(guān)鍵部件性能衰變而造成的液
    的頭像 發(fā)表于 10-30 16:04 ?988次閱讀
    飛機(jī)液壓系統(tǒng)關(guān)鍵部件<b class='flag-5'>性能</b>退化建模與<b class='flag-5'>仿真</b>