[發明專利]用于垃圾回收的并行標記處理方法及裝置有效
| 申請號: | 201610187840.2 | 申請日: | 2016-03-29 |
| 公開(公告)號: | CN107239406B | 公開(公告)日: | 2021-03-09 |
| 發明(設計)人: | 吳哲鋒;楊江華 | 申請(專利權)人: | 斑馬智行網絡(香港)有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 上海知錦知識產權代理事務所(特殊普通合伙) 31327 | 代理人: | 段潔汝 |
| 地址: | 中國香港九龍長沙灣道*** | 國省代碼: | 香港;81 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 垃圾 回收 并行 標記 處理 方法 裝置 | ||
1.一種用于垃圾回收的并行標記處理方法,其特征在于,預設的N個標記線程中的每個標記線程至少包括:1個私有棧,所述方法應用在每個標記線程中,其中,應用在第一標記線程中的所述方法包括以下步驟:
第一標記線程根據線程啟動指令,從第一私有棧中取出預先壓入的第一對象的第一指針;
所述第一標記線程遍歷所述第一指針指示的所述第一對象引用的第二對象,并根據預設的N個標記線程與虛擬機堆中內存塊的對應關系對所述第二對象進行第二標記處理。
2.如權利要求1所述的方法,其特征在于,所述根據預設的N個標記線程與虛擬機堆中內存塊的對應關系對所述第二對象進行第二標記處理,包括:
所述第一標記線程根據所述對應關系,判斷是否負責對當前處理的第二對象所在的內存塊P1進行標記處理;
如果所述第一標記線程負責對所述內存塊P1進行標記處理,則將當前處理的第二對象的第二指針壓入到所述第一私有棧中;
所述第一標記線程判斷是否成功將所述第二指針壓入到所述第一私有棧中;
如果所述第一標記線程未能成功將所述第二指針壓入到所述第一私有棧中,則將所述內存塊P1的位圖中、與該第二對象對應的狀態標記為溢出狀態。
3.如權利要求2所述的方法,其特征在于,還包括:
設置與所述內存塊P1對應的溢出標志。
4.如權利要求2所述的方法,其特征在于,所述第一標記線程判斷是否成功將所述第二指針壓入到所述第一私有棧中之后,還包括:
如果所述第一標記線程成功將所述第二指針壓入到所述第一私有棧中,則繼續對所述第一指針對應的下一個第二對象進行處理。
5.如權利要求2所述的方法,其特征在于,預設的N個標記線程中每個標記線程還包括:與其他(N-1)個標記線程對應的(N-1)個公用輸出隊列;
所述判斷是否負責對當前處理的第二對象所在的內存塊P1進行標記處理之后,還包括:
如果所述第一標記線程不負責對所述內存塊P1進行標記處理,確定標記線程M負責對所述內存塊P1進行標記處理;
將所述第二指針壓入到所述第一標記線程中與所述標記線程M對應的公用輸出隊列M中;
所述第一標記線程判斷是否成功將所述第二指針壓入到所述公用輸出隊列M中;
如果所述第一標記線程成功將所述第二指針壓入到所述公用輸出隊列M中,則繼續對所述第一指針對應的下一個第二對象進行處理。
6.如權利要求5所述的方法,其特征在于,預設的N個標記線程中每個標記線程還包括:1個緩存隊列;
所述第一標記線程判斷是否成功將所述第二指針壓入到所述公用輸出隊列M中之后,還包括:
如果所述第一標記線程未能成功將所述第二指針壓入到所述公用輸出隊列M中,則把所述第二指針壓入到所述第一標記線程中的第一緩存隊列中;
所述第一標記線程判斷是否成功將所述第二指針壓入到所述第一緩存隊列中;
如果所述第一標記線程未能成功將所述第二指針壓入到所述第一緩存隊列中,則將所述內存塊P1的位圖中、與當前處理的第二對象對應的狀態標記為溢出狀態。
7.如權利要求6所述的方法,其特征在于,還包括:
設置與所述內存塊P1對應的溢出標志。
8.如權利要求7所述的方法,其特征在于,所述第一標記線程判斷是否成功將所述第二指針壓入到所述第一緩存隊列中之后,還包括:
如果所述第一標記線程成功將所述第二指針壓入到所述第一緩存隊列中,則繼續對所述第一指針對應的下一個第二對象進行處理。
9.如權利要求2-8任一所述的方法,其特征在于,所述第一標記線程根據所述對應關系,判斷是否負責對當前處理的第二對象所在的內存塊P1進行標記處理之前,還包括:
查詢所述內存塊P1的位圖中與該第二對象對應的狀態標記;
如果與該第二對象對應的狀態標記為未標記狀態,則將與該第二對象對應的狀態修改為壓入狀態。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于斑馬智行網絡(香港)有限公司,未經斑馬智行網絡(香港)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610187840.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種源代碼中無效函數的查找方法和設備
- 下一篇:一種內存的無線訪問方法和裝置





