[發明專利]在事務存儲器系統中高效地定位事務代碼塊有效
| 申請號: | 200880018481.1 | 申請日: | 2008-05-30 |
| 公開(公告)號: | CN101681293A | 公開(公告)日: | 2010-03-24 |
| 發明(設計)人: | D·卡拉漢;V·K·格羅弗 | 申請(專利權)人: | 微軟公司 |
| 主分類號: | G06F12/00 | 分類號: | G06F12/00 |
| 代理公司: | 上海專利商標事務所有限公司 | 代理人: | 陳 斌;錢靜芳 |
| 地址: | 美國華*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 事務 存儲器 系統 高效 定位 代碼 | ||
1.一種用于在事務存儲器系統中定位事務代碼塊的方法,所述方法包括以下 步驟:
提供事務存儲器系統(206);
在編譯時,為軟件應用程序中的每一個函數分配存根指針;
創建所述軟件應用程序中的被標記為事務安全的每一個函數的普通版本和事 務版本(210);
創建未被標記為事務安全的每一個函數的普通版本(212);以及
對于被標記為事務安全的每一個函數的普通版本,使所述普通版本的存根指 針指向所述事務版本(216)。
2.如權利要求1所述的方法,其特征在于,所述存根指針被分配在每一個函 數的普通版本的代碼部分之前(214)。
3.如權利要求1所述的方法,其特征在于,對于未被標記為事務安全的每一 個函數,使所述普通版本的存根指針指向出錯處理例程(216)。
4.如權利要求1所述的方法,其特征在于,被標記為事務安全的每一個函數 的事務版本具有指向出錯處理例程的存根指針(284)。
5.如權利要求1所述的方法,其特征在于,未被標記為事務安全的每一個函 數的普通版本具有指向出錯處理例程的存根指針(286)。
6.一種用于在事務存儲器系統中定位事務代碼塊的方法,所述方法包括以下 步驟:
提供事務存儲器系統(242);
在編譯時,為軟件應用程序中的每一個函數分配存根指針;
允許用戶用標識符來裝飾特定函數以指示該特定函數是事務安全的(244);
創建所述特定函數的兩個版本,一個不用于事務的普通函數和一個用于事務 的事務函數(246);以及
將指向所述事務函數的存根指針存儲在所述普通函數中(248)。
7.如權利要求6所述的方法,其特征在于,還包括:
取決于執行上下文來調用所述特定函數的適當的版本(250)。
8.如權利要求7所述的方法,其特征在于,如果所述執行上下文是具有對所 述特定函數的直接調用的非事務上下文,則調用所述普通函數(250)。
9.如權利要求7所述的方法,其特征在于,如果所述執行上下文是具有對所 述特定函數的直接調用的事務上下文,則調用所述事務函數(250)。
10.如權利要求7所述的方法,其特征在于,如果所述執行上下文是具有對 所述特定函數的指針調用的非事務上下文,則對所述特定函數進行所述指針調用 (316)。
11.如權利要求7所述的方法,其特征在于,如果所述執行上下文是具有對 所述特定函數的指針調用的事務上下文,則通過解除函數指針值的引用來減去存根 指針大小以便計算所得值,并且然后調用該所得值(318)。
12.如權利要求7所述的方法,其特征在于,如果所述執行上下文是具有對 所述特定函數的虛調用的非事務上下文,則對所述特定函數進行所述虛調用(320)。
13.如權利要求7所述的方法,其特征在于,如果所述執行上下文是具有對 所述特定函數的虛調用的事務上下文,則執行虛表查找并且計算所述事務函數的存 根指針的入口點,并且然后使用計算出的入口點來作出所述虛調用(322)。
14.如權利要求6所述的方法,其特征在于,所述標識符是屬性(244)。
15.如權利要求6所述的方法,其特征在于,編譯器創建所述特定函數的兩 個版本(246)。
16.如權利要求6所述的方法,其特征在于,指向所述事務函數的存根指針 被存儲在所述普通函數的開頭(248)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟公司,未經微軟公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200880018481.1/1.html,轉載請聲明來源鉆瓜專利網。





