System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 无码AV一区二区三区无码,精品无码成人片一区二区,精品无码成人久久久久久
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>
    當(dāng)前位置: 首頁 > 專利查詢>楚天龍股份有限公司專利>正文

    二進(jìn)制文件的執(zhí)行方法、裝置及電子設(shè)備制造方法及圖紙

    技術(shù)編號(hào):44490373 閱讀:3 留言:0更新日期:2025-03-04 17:55
    本申請(qǐng)?zhí)峁┝艘环N二進(jìn)制文件的執(zhí)行方法、裝置及電子設(shè)備,方法應(yīng)用于字節(jié)碼解釋器;方法包括:從二進(jìn)制文件中讀取當(dāng)前待執(zhí)行的字節(jié)碼指令;確定字節(jié)碼指令是方法調(diào)用指令時(shí),讀取字節(jié)碼指令對(duì)應(yīng)的擬被調(diào)用方法的第一索引,并確定擬被調(diào)用方法對(duì)應(yīng)的方法實(shí)例;若擬被調(diào)用方法是導(dǎo)入方法,則獲取擬被調(diào)用方法的簽名解析參數(shù),并壓入操作數(shù)棧;設(shè)置擬被調(diào)用方法對(duì)應(yīng)的第一棧幀結(jié)構(gòu),調(diào)用native方法并將native方法的返回值寫入棧幀,恢復(fù)調(diào)用函數(shù)實(shí)例;native方法中,參數(shù)類型檢查與參數(shù)傳遞同步進(jìn)行;否則,按非導(dǎo)入方法的處理流程執(zhí)行。本執(zhí)行方法可以應(yīng)用于資源有限的嵌入式設(shè)備中,提高應(yīng)用的運(yùn)行性能。

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本申請(qǐng)涉及軟件,尤其是涉及一種二進(jìn)制文件的執(zhí)行方法、裝置及電子設(shè)備。


    技術(shù)介紹

    1、webassembly(縮寫為wasm)是一種基于堆棧的虛擬機(jī)的二進(jìn)制指令格式。它是一種低級(jí)的類匯編語言,具有緊湊的二進(jìn)制格式,可以接近原生的性能運(yùn)行,并為諸如c/c++等語言提供一個(gè)編譯目標(biāo)。

    2、最初的wasm應(yīng)用是在計(jì)算機(jī)網(wǎng)頁上運(yùn)行的,現(xiàn)有的執(zhí)行流程中需要對(duì)傳遞參數(shù)的處理進(jìn)行兩次遍歷處理,由于計(jì)算機(jī)運(yùn)行速率比較高,在網(wǎng)頁中運(yùn)行時(shí)對(duì)運(yùn)行性能的影響基本可以忽略,但是如果將wasm應(yīng)用在資源受限的嵌入式設(shè)備上運(yùn)行,就會(huì)出現(xiàn)明顯的運(yùn)行性能差異,導(dǎo)致wasm應(yīng)用按照現(xiàn)有的執(zhí)行流程無法在嵌入式設(shè)備上運(yùn)行。


    技術(shù)實(shí)現(xiàn)思路

    1、本申請(qǐng)的目的在于提供一種二進(jìn)制文件的執(zhí)行方法、裝置及電子設(shè)備,可以應(yīng)用于資源有限的嵌入式設(shè)備中,提高應(yīng)用的運(yùn)行性能。

    2、第一方面,本申請(qǐng)?zhí)峁┮环N二進(jìn)制文件的執(zhí)行方法,方法應(yīng)用于字節(jié)碼解釋器;方法包括:從二進(jìn)制文件中讀取當(dāng)前待執(zhí)行的字節(jié)碼指令;確定字節(jié)碼指令是方法調(diào)用指令時(shí),讀取字節(jié)碼指令對(duì)應(yīng)的擬被調(diào)用方法的第一索引,基于第一索引,確定擬被調(diào)用方法對(duì)應(yīng)的方法實(shí)例;若擬被調(diào)用方法為導(dǎo)入方法,則獲取擬被調(diào)用方法的簽名解析參數(shù),并壓入操作數(shù)棧;設(shè)置擬被調(diào)用方法對(duì)應(yīng)的第一棧幀結(jié)構(gòu),調(diào)用native方法并將native方法的返回值寫入棧幀,恢復(fù)調(diào)用函數(shù)實(shí)例;其中,native方法中,參數(shù)類型檢查與參數(shù)傳遞同步進(jìn)行;若擬被調(diào)用方法不是導(dǎo)入方法,則將擬被調(diào)用方法的方法參數(shù)壓入操作數(shù)棧;分配??臻g,設(shè)置擬被調(diào)用方法對(duì)應(yīng)的第二棧幀結(jié)構(gòu),獲取調(diào)用方法,以執(zhí)行擬被調(diào)用方法對(duì)應(yīng)的方法實(shí)例。

    3、進(jìn)一步地,上述基于第一索引,確定擬被調(diào)用方法對(duì)應(yīng)的方法實(shí)例的步驟,包括:獲取當(dāng)前被調(diào)用方法對(duì)應(yīng)的第二索引;判斷第二索引與第一索引是否一致;如果是,將當(dāng)前被調(diào)用方法對(duì)應(yīng)的方法實(shí)例作為擬被調(diào)用方法對(duì)應(yīng)的方法實(shí)例;如果否,根據(jù)第二索引在下載文件中獲取對(duì)應(yīng)的實(shí)例數(shù)據(jù),基于實(shí)例數(shù)據(jù)重新構(gòu)建擬被調(diào)用方法需要的方法實(shí)例。

    4、進(jìn)一步地,上述方法還包括:判斷擬被調(diào)用方法是否為導(dǎo)入方法,具體包括:獲取導(dǎo)入方法的數(shù)量,并判斷第一索引是否小于導(dǎo)入方法的數(shù)量;如果是,確定擬被調(diào)用方法是導(dǎo)入方法;如果否,確定擬被調(diào)用方法不是導(dǎo)入方法。

    5、進(jìn)一步地,上述獲取擬被調(diào)用方法的簽名解析參數(shù),并壓入操作數(shù)棧的步驟,包括:獲取擬被調(diào)用方法對(duì)應(yīng)的函數(shù)簽名;根據(jù)函數(shù)簽名中的字符串,將指定字符對(duì)應(yīng)的參數(shù)進(jìn)行地址轉(zhuǎn)換計(jì)算,將計(jì)算后的值作為要傳遞的參數(shù)放入操作數(shù)棧中的指定位置。

    6、進(jìn)一步地,上述設(shè)置擬被調(diào)用方法對(duì)應(yīng)的第一棧幀結(jié)構(gòu),調(diào)用native方法并將native方法的返回值寫入棧幀,恢復(fù)調(diào)用函數(shù)實(shí)例的步驟,包括:設(shè)置當(dāng)前棧幀指針指向擬被調(diào)用方法對(duì)應(yīng)的第一棧幀結(jié)構(gòu);根據(jù)第一棧幀結(jié)構(gòu)中的方法索引,從native方法表中獲取第一棧幀結(jié)構(gòu)中的方法索引對(duì)應(yīng)的native方法,并執(zhí)行native方法;在native方法執(zhí)行結(jié)束后,根據(jù)第一棧幀結(jié)構(gòu)中的返回值的個(gè)數(shù)和位置信息,將native方法的返回值存放至操作數(shù)棧的指定位置;將當(dāng)前棧幀指針指向調(diào)用native方法前的棧幀結(jié)構(gòu)。

    7、進(jìn)一步地,上述從native方法表中獲取第一棧幀結(jié)構(gòu)中的方法索引對(duì)應(yīng)的native方法,并執(zhí)行native方法的步驟,包括:獲取擬被調(diào)用方法要調(diào)用的新方法,根據(jù)計(jì)算得出新方法需要使用的棧大小并分配??臻g,為新方法設(shè)置第三棧幀結(jié)構(gòu);調(diào)用新方法,當(dāng)新方法執(zhí)行完畢時(shí),基于返回值更新第三棧幀結(jié)構(gòu);根據(jù)從第三棧幀結(jié)構(gòu)中獲取的返回值的偏移,將返回值拷貝至擬被調(diào)用方法的第一棧幀結(jié)構(gòu);釋放第三棧幀結(jié)構(gòu)。

    8、進(jìn)一步地,上述第一棧幀結(jié)構(gòu)包括:前一個(gè)調(diào)用方法的幀地址、當(dāng)前方法的索引、當(dāng)前方法返回值在操作數(shù)棧中的偏移、當(dāng)前方法字節(jié)碼地址、局部變量棧地址、操作數(shù)棧的地址。

    9、第二方面,本申請(qǐng)還提供一種二進(jìn)制文件的執(zhí)行裝置,裝置應(yīng)用于字節(jié)碼解釋器;裝置包括:指令獲取模塊,用于從二進(jìn)制文件中讀取當(dāng)前待執(zhí)行的字節(jié)碼指令;實(shí)例確定模塊,用于確定字節(jié)碼指令是方法調(diào)用指令時(shí),讀取字節(jié)碼指令對(duì)應(yīng)的擬被調(diào)用方法的第一索引,基于第一索引,確定擬被調(diào)用方法對(duì)應(yīng)的方法實(shí)例;第一執(zhí)行模塊,用于若擬被調(diào)用方法是導(dǎo)入方法,則獲取擬被調(diào)用方法的簽名解析參數(shù),并壓入操作數(shù)棧;設(shè)置擬被調(diào)用方法對(duì)應(yīng)的第一棧幀結(jié)構(gòu),調(diào)用native方法并將native方法的返回值寫入棧幀,恢復(fù)調(diào)用函數(shù)實(shí)例;其中,native方法中,參數(shù)類型檢查與參數(shù)傳遞同步進(jìn)行;第二執(zhí)行模塊,用于若擬被調(diào)用方法不是導(dǎo)入方法,則將擬被調(diào)用方法的方法參數(shù)壓入操作數(shù)棧;分配??臻g,設(shè)置擬被調(diào)用方法對(duì)應(yīng)的第二棧幀結(jié)構(gòu),獲取調(diào)用方法,以執(zhí)行擬被調(diào)用方法對(duì)應(yīng)的方法實(shí)例。

    10、第三方面,本申請(qǐng)還提供一種電子設(shè)備,包括處理器和存儲(chǔ)器,存儲(chǔ)器存儲(chǔ)有能夠被處理器執(zhí)行的計(jì)算機(jī)可執(zhí)行指令,處理器執(zhí)行計(jì)算機(jī)可執(zhí)行指令以實(shí)現(xiàn)上述第一方面所述的方法。

    11、第四方面,本申請(qǐng)還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,計(jì)算機(jī)可執(zhí)行指令在被處理器調(diào)用和執(zhí)行時(shí),計(jì)算機(jī)可執(zhí)行指令促使處理器實(shí)現(xiàn)上述第一方面所述的方法。

    12、本申請(qǐng)?zhí)峁┑囊环N二進(jìn)制文件的執(zhí)行方法、裝置及電子設(shè)備中,方法應(yīng)用于字節(jié)碼解釋器;方法包括:從二進(jìn)制文件中讀取當(dāng)前待執(zhí)行的字節(jié)碼指令;確定字節(jié)碼指令是方法調(diào)用指令時(shí),讀取字節(jié)碼指令對(duì)應(yīng)的擬被調(diào)用方法的第一索引,基于第一索引,確定擬被調(diào)用方法對(duì)應(yīng)的方法實(shí)例;若擬被調(diào)用方法是導(dǎo)入方法,則獲取擬被調(diào)用方法的簽名解析參數(shù),并壓入操作數(shù)棧;設(shè)置擬被調(diào)用方法對(duì)應(yīng)的第一棧幀結(jié)構(gòu),調(diào)用native方法并將native方法的返回值寫入棧幀,恢復(fù)調(diào)用函數(shù)實(shí)例;其中,native方法中,參數(shù)類型檢查與參數(shù)傳遞同步進(jìn)行;若擬被調(diào)用方法不是導(dǎo)入方法,則將擬被調(diào)用方法的方法參數(shù)壓入操作數(shù)棧;分配??臻g,設(shè)置擬被調(diào)用方法對(duì)應(yīng)的第二棧幀結(jié)構(gòu),獲取調(diào)用方法,以執(zhí)行擬被調(diào)用方法對(duì)應(yīng)的方法實(shí)例。該執(zhí)行方法中,native方法中,參數(shù)類型檢查與參數(shù)傳遞同步進(jìn)行,可減少處理過程及空間消耗,可以應(yīng)用于資源有限的嵌入式設(shè)備中,提高應(yīng)用的運(yùn)行性能和效率。

    本文檔來自技高網(wǎng)...

    【技術(shù)保護(hù)點(diǎn)】

    1.一種二進(jìn)制文件的執(zhí)行方法,其特征在于,所述方法應(yīng)用于字節(jié)碼解釋器;所述方法包括:

    2.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述第一索引,確定所述擬被調(diào)用方法對(duì)應(yīng)的方法實(shí)例的步驟,包括:

    3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:判斷所述擬被調(diào)用方法是否為導(dǎo)入方法;

    4.根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取所述擬被調(diào)用方法的簽名解析參數(shù),并壓入操作數(shù)棧的步驟,包括:

    5.根據(jù)權(quán)利要求1所述的方法,其特征在于,設(shè)置所述擬被調(diào)用方法對(duì)應(yīng)的第一棧幀結(jié)構(gòu),調(diào)用native方法并將native方法的返回值寫入棧幀,恢復(fù)調(diào)用函數(shù)實(shí)例的步驟,包括:

    6.根據(jù)權(quán)利要求5所述的方法,其特征在于,從native方法表中獲取所述第一棧幀結(jié)構(gòu)中的方法索引對(duì)應(yīng)的native方法,并執(zhí)行所述native方法的步驟,包括:

    7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一棧幀結(jié)構(gòu)包括:前一個(gè)調(diào)用方法的幀地址、當(dāng)前方法的索引、當(dāng)前方法返回值在操作數(shù)棧中的偏移、當(dāng)前方法字節(jié)碼地址、局部變量棧地址、操作數(shù)棧的地址。

    8.一種二進(jìn)制文件的執(zhí)行裝置,其特征在于,所述裝置應(yīng)用于字節(jié)碼解釋器;所述裝置包括:

    9.一種電子設(shè)備,其特征在于,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有能夠被所述處理器執(zhí)行的計(jì)算機(jī)可執(zhí)行指令,所述處理器執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令以實(shí)現(xiàn)權(quán)利要求1至7任一項(xiàng)所述的方法。

    10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令在被處理器調(diào)用和執(zhí)行時(shí),計(jì)算機(jī)可執(zhí)行指令促使處理器實(shí)現(xiàn)權(quán)利要求1至7任一項(xiàng)所述的方法。

    ...

    【技術(shù)特征摘要】

    1.一種二進(jìn)制文件的執(zhí)行方法,其特征在于,所述方法應(yīng)用于字節(jié)碼解釋器;所述方法包括:

    2.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述第一索引,確定所述擬被調(diào)用方法對(duì)應(yīng)的方法實(shí)例的步驟,包括:

    3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:判斷所述擬被調(diào)用方法是否為導(dǎo)入方法;

    4.根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取所述擬被調(diào)用方法的簽名解析參數(shù),并壓入操作數(shù)棧的步驟,包括:

    5.根據(jù)權(quán)利要求1所述的方法,其特征在于,設(shè)置所述擬被調(diào)用方法對(duì)應(yīng)的第一棧幀結(jié)構(gòu),調(diào)用native方法并將native方法的返回值寫入棧幀,恢復(fù)調(diào)用函數(shù)實(shí)例的步驟,包括:

    6.根據(jù)權(quán)利要求5所述的方法,其特征在于,從native方法表中獲取所述第一棧幀結(jié)構(gòu)中的方法索引對(duì)應(yīng)的native方...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:李寧王書禮,楊旭昊,文懷濤,曹海濤,劉璇,
    申請(qǐng)(專利權(quán))人:楚天龍股份有限公司,
    類型:發(fā)明
    國(guó)別省市:

    網(wǎng)友詢問留言 已有0條評(píng)論
    • 還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 亚洲无码精品浪潮| 无码丰满熟妇浪潮一区二区AV| 无码 免费 国产在线观看91| 亚洲精品一级无码中文字幕 | 国产精品va无码免费麻豆| 夜夜精品无码一区二区三区| 久久久久久久无码高潮| 无码综合天天久久综合网| 无码av免费网站| 中文字幕无码一区二区免费| 免费看无码自慰一区二区| 色综合久久无码五十路人妻| 久久久91人妻无码精品蜜桃HD| 亚洲一区二区三区无码国产| 国产免费无码一区二区| 在线观看无码的免费网站| 无码av免费毛片一区二区 | 亚洲AV无码专区在线播放中文 | 日韩精品无码一区二区视频| 亚洲aⅴ无码专区在线观看春色 | 无码av免费网站| 老司机无码精品A| 中文字幕无码播放免费| 久久午夜夜伦鲁鲁片免费无码| 人妻少妇伦在线无码| 国模无码视频一区二区三区| 亚洲AV成人无码网天堂| 无码乱码av天堂一区二区| 人妻中文字幕无码专区| 亚洲国产a∨无码中文777| 国产免费无码一区二区| 国产成人午夜无码电影在线观看| 一本大道久久东京热无码AV | 东京热av人妻无码专区| 亚洲av无码不卡私人影院| 日韩精品无码Av一区二区| 国产精品无码一区二区三区在| 无码人妻H动漫中文字幕| 一本大道无码日韩精品影视| 国产精品99久久久精品无码| 国精无码欧精品亚洲一区|