[發明專利]精細粒度需求驅動的IPO基礎架構有效
| 申請號: | 201680008221.0 | 申請日: | 2016-01-12 |
| 公開(公告)號: | CN107209677B | 公開(公告)日: | 2020-09-25 |
| 發明(設計)人: | 欣亮·戴維·李;特雷莎·路易斯·約翰遜;徐榕 | 申請(專利權)人: | 谷歌有限責任公司 |
| 主分類號: | G06F8/54 | 分類號: | G06F8/54 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 李佳;穆德駿 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 精細 粒度 需求 驅動 ipo 基礎 架構 | ||
1.一種用于過程間優化的方法,包括:
由處理器為多個源代碼模塊中的每一個生成中間表示文件;
由所述處理器為所述多個源代碼模塊中的每一個生成函數索引和函數摘要數據,其中每個函數索引包括將函數ID映射到所述中間表示文件中的函數本體偏移的函數符號表;
由所述處理器在每個中間表示文件的單獨部分中存儲對應源代碼模塊的所生成的函數索引和函數摘要數據;
由所述處理器針對所述多個源代碼模塊生成與所生成的中間表示文件相對應的精簡檔案,其中所生成的精簡檔案包括組合函數映射并且在缺少所生成的中間表示文件的副本時引用所生成的中間表示文件;以及
由所述處理器使用所述對應精簡檔案對所述多個源代碼模塊執行跨模塊優化。
2.根據權利要求1所述的方法,其中,所述跨模塊優化以模塊粒度并行。
3.根據權利要求1所述的方法,其中,執行所述跨模塊優化包括:
使用所述組合函數映射執行快速函數導入。
4.根據權利要求1所述的方法,其中,執行所述跨模塊優化包括:
使用來自一個或多個輔助模塊的調試信息的需求驅動導入。
5.根據權利要求1所述的方法,其中使用鏈接器插件調用命令生成所述精簡檔案,其中所述鏈接器插件調用命令指定所生成的中間表示文件將作為引用包含在所述精簡檔案中。
6.一種用于過程間優化的系統,包括:
至少一個處理器;和
非暫時性計算機可讀介質,所述非暫時性計算機可讀介質耦合到所述至少一個處理器,具有存儲在其上的指令,所述指令當由所述至少一個處理器執行時,使所述至少一個處理器:
為多個源代碼模塊中的每一個生成中間表示文件;
為所述多個源代碼模塊中的每一個生成函數索引和函數摘要數據,其中每個函數索引包括將函數ID映射到所述中間表示文件中的函數本體偏移的函數符號表;
在每個中間表示文件的單獨部分中存儲對應源代碼模塊的所生成的函數索引和函數摘要數據;
針對所述多個源代碼模塊生成與所生成的中間表示文件相對應的精簡檔案,其中所生成的精簡檔案包括組合函數映射并且在缺少所生成的中間表示文件的副本時引用所生成的中間表示文件;以及
使用所述對應精簡檔案對所述多個源代碼模塊執行跨模塊優化。
7.根據權利要求6所述的系統,其中,所述跨模塊優化以模塊粒度并行。
8.根據權利要求6所述的系統,其中,進一步使所述至少一個處理器:
使用所述組合函數映射執行快速函數導入。
9.根據權利要求6所述的系統,其中,進一步使所述至少一個處理器:
使用來自一個或多個輔助模塊的調試信息的需求驅動導入。
10.存儲計算機可執行指令的一種或多種非暫時性計算機可讀介質,所述計算機可執行指令當由一個或多個處理器執行時,使所述一個或多個處理器執行操作,所述操作包括:
為多個源代碼模塊中的每一個生成中間表示文件;
為所述多個源代碼模塊中的每一個生成函數索引和函數摘要數據,其中每個函數索引包括將函數ID映射到所述中間表示文件中的函數本體偏移的函數符號表;
在每個中間表示文件的單獨部分中存儲對應源代碼模塊的所生成的函數索引和函數摘要數據;
針對所述多個源代碼模塊生成與所生成的中間表示文件相對應的精簡檔案,其中所生成的精簡檔案包括組合函數映射并且在缺少所生成的中間表示文件的副本時引用所生成的中間表示文件;以及
使用所述對應精簡檔案對所述多個源代碼模塊執行跨模塊優化。
11.根據權利要求10所述的一種或多種非暫時性計算機可讀介質,其中,所述跨模塊優化以模塊粒度并行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于谷歌有限責任公司,未經谷歌有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201680008221.0/1.html,轉載請聲明來源鉆瓜專利網。





