[發(fā)明專利]優(yōu)化鏈接后代碼的方法和裝置有效
| 申請?zhí)枺?/td> | 02105372.3 | 申請日: | 2002-02-27 |
| 公開(公告)號(hào): | CN1374585A | 公開(公告)日: | 2002-10-16 |
| 發(fā)明(設(shè)計(jì))人: | 蓋德·哈伯;摩舍·克勞斯納;瓦迪姆·埃森博格 | 申請(專利權(quán))人: | 國際商業(yè)機(jī)器公司 |
| 主分類號(hào): | G06F9/45 | 分類號(hào): | G06F9/45;G06F9/30 |
| 代理公司: | 中國國際貿(mào)易促進(jìn)委員會(huì)專利商標(biāo)事務(wù)所 | 代理人: | 付建軍 |
| 地址: | 美國*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 優(yōu)化 鏈接 代碼 方法 裝置 | ||
1.代碼優(yōu)化的方法,包括:
分解已經(jīng)編譯和鏈接的目標(biāo)代碼;
識(shí)別已分解代碼中的函數(shù),函數(shù)中包括關(guān)于寄存器的存儲(chǔ)和恢復(fù)指令;
分析已分解代碼以定位對后面跟有注銷寄存器指令的函數(shù)的調(diào)用;
修改代碼,使得當(dāng)該函數(shù)由已定位的調(diào)用進(jìn)行調(diào)用時(shí),從函數(shù)中消除存儲(chǔ)指令。
2.根據(jù)權(quán)利要求1中的方法,其中修改代碼包括進(jìn)一步修改代碼,使得當(dāng)該函數(shù)由已定位的調(diào)用進(jìn)行調(diào)用時(shí),從函數(shù)中消除恢復(fù)指令。
3.根據(jù)權(quán)利要求1中的方法,其中修改代碼包括重定向已定位的調(diào)用,以便跳過存儲(chǔ)指令。
4.根據(jù)權(quán)利要求3中的方法,其中修改代碼包括復(fù)制代碼中與函數(shù)對應(yīng)的部分,以便創(chuàng)建從中除去存儲(chǔ)指令的函數(shù)的優(yōu)化版本,其中重定向已定位的調(diào)用包括將調(diào)用定向到函數(shù)優(yōu)化版本的地址。
5.根據(jù)權(quán)利要求4中的方法,其中分析分解的代碼包括定位對函數(shù)的多個(gè)調(diào)用,且重定向已定位的調(diào)用包括將多個(gè)調(diào)用重定向到函數(shù)優(yōu)化版本的地址。
6.根據(jù)權(quán)利要求5中的方法,其中函數(shù)包括多個(gè)寄存器的存儲(chǔ)和恢復(fù)指令,且其中各個(gè)重定向調(diào)用后面均跟有注銷至少其中一個(gè)寄存器的相應(yīng)指令,且其中復(fù)制部分代碼包括從函數(shù)的優(yōu)化版本中除去所有關(guān)于重定向調(diào)用后注銷的寄存器的存儲(chǔ)和恢復(fù)指令。
7.根據(jù)權(quán)利要求6中的方法,其中修改代碼包括為多個(gè)重定向調(diào)用中的至少一個(gè)創(chuàng)建包裝代碼,包裝代碼包括函數(shù)優(yōu)化版本的調(diào)用,在之前有關(guān)于至少一個(gè)注銷寄存器的存儲(chǔ)指令,在之后有關(guān)于至少一個(gè)注銷寄存器的恢復(fù)指令,且其中重定向已定位的調(diào)用包括將調(diào)用定向到包裝代碼。
8.根據(jù)權(quán)利要求7中的方法,其中將調(diào)用定向到包裝代碼包括將已定位的調(diào)用替換為轉(zhuǎn)移到包裝代碼的指令。
9.根據(jù)權(quán)利要求7中的方法,其中創(chuàng)建包裝代碼包括為不同的重定向調(diào)用創(chuàng)建多個(gè)、各自的包裝代碼,其中重定向多個(gè)調(diào)用包括將不同的調(diào)用重定向到各自的包裝代碼。
10.根據(jù)權(quán)利要求4中的方法,其中分解的代碼包括以最后一個(gè)指令結(jié)尾的固定指令順序,且其中復(fù)制部分代碼包括在最后指令之后增補(bǔ)復(fù)制的代碼,而不改變固定的順序。
11.根據(jù)權(quán)利要求3中的方法,其中分解的代碼包括固定的指令順序,其中修改代碼包括消除存儲(chǔ)指令而不改變固定的順序。
12.根據(jù)權(quán)利要求3中的方法,其中分析分解的代碼包括在與函數(shù)對應(yīng)的代碼部分中識(shí)別存儲(chǔ)指令,其中重定向已定位的調(diào)用包括重定向調(diào)用以便跳過識(shí)別出的存儲(chǔ)指令。
13.根據(jù)權(quán)利要求12中的方法,其中代碼部分包括函數(shù)的前端,其中修改代碼包括調(diào)整代碼部分的位置,以使識(shí)別出的存儲(chǔ)指令處于前端的開始,其中重定向調(diào)用包括將調(diào)用定向到識(shí)別出的存儲(chǔ)指令之后的目標(biāo)地址。
14.根據(jù)權(quán)利要求1中的方法,其中消除存儲(chǔ)指令包括將存儲(chǔ)指令替換為NOP指令。
15.代碼優(yōu)化裝置,包括一個(gè)代碼處理器,用來分解已經(jīng)編譯和鏈接的目標(biāo)代碼,以便在分解的代碼中識(shí)別包含關(guān)于寄存器的存儲(chǔ)和恢復(fù)指令的函數(shù),對分解的代碼進(jìn)行分析,以便定位后面跟有注銷寄存器指令的函數(shù)調(diào)用,并修改代碼使得當(dāng)該函數(shù)由已定位的調(diào)用進(jìn)行調(diào)用時(shí),從函數(shù)中消除存儲(chǔ)指令。
16.根據(jù)權(quán)利要求15中的裝置,其特征在于處理器是用來進(jìn)一步修改代碼,使得當(dāng)該函數(shù)由已定位的調(diào)用進(jìn)行調(diào)用時(shí),從函數(shù)中消除恢復(fù)指令。
17.根據(jù)權(quán)利要求15中的裝置,其特征在于處理器是用來修改代碼,從而重寫向已定位的調(diào)用以便跳過存儲(chǔ)指令。
18.根據(jù)權(quán)利要求17中的裝置,其特征在于處理器是用來修改代碼,即通過復(fù)制代碼中與函數(shù)對應(yīng)的部分,以便創(chuàng)建要從中除去存儲(chǔ)指令的函數(shù)的優(yōu)化版本,其中將已定位的調(diào)用重定向到函數(shù)優(yōu)化版本的地址。
19.根據(jù)權(quán)利要求18中的裝置,其特征在于處理器是用來定位對函數(shù)的多個(gè)調(diào)用,且其中將多個(gè)調(diào)用重定向到函數(shù)優(yōu)化版本的地址。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于國際商業(yè)機(jī)器公司,未經(jīng)國際商業(yè)機(jī)器公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/02105372.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





