【手続補正書】
【提出日】平成27年8月10日(2015.8.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つ又は複数のプロセッサとシステムメモリとを含むコンピュータシステムにおいて、システムリソースを回収しようとする試みに備えてカウント型オブジェクトグラフとガベージコレクション型オブジェクトグラフとの間で参照情報を同期させる方法であって：
前記システムメモリ内に循環グラフを構築する動作であって、前記循環グラフは、
（ｉ）参照カウント法に従って寿命が管理される１つ以上の参照カウントオブジェクトを含む、カウント型オブジェクトグラフと、
（ｉｉ）ガベージコレクションに従って寿命が管理される１つ又は複数のガベージコレクション（ＧＣ）オブジェクトを含む、ＧＣオブジェクトグラフと、
を含み、前記カウント型オブジェクトグラフの特定の参照カウントオブジェクトは、前記カウント型オブジェクトグラフのカウントラッパーを介して前記ＧＣオブジェクトグラフのうちの特定のＧＣオブジェクトを参照し、前記特定のＧＣオブジェクトは、前記ＧＣオブジェクトグラフの参照ラッパーを介して前記特定の参照カウントオブジェクトを参照し、前記カウントラッパーは、別の参照カウントオブジェクトから、ＧＣに従って回収される更なるオブジェクトへの参照を格納し、参照カウント法に従って回収され、前記参照ラッパーは、別のＧＣオブジェクトから、参照カウント法に従って回収される更なるオブジェクトへの参照を格納し、ＧＣに従って回収される、動作と；
前記システムメモリから前記循環グラフにおいてオブジェクトのガベージコレクションを実施することに備えて：
前記カウントラッパーが、前記参照ラッパーから前記カウント型オブジェクトグラフを通じて到達される可能性があることを決定する動作と；
前記参照ラッパーから前記特定のＧＣオブジェクトへの新たな参照を作成する動作と、
前記カウントラッパー及び前記新たな参照を介して参照される前記特定のＧＣオブジェクトの寿命を保護する動作と；
任意の割り当て済みシステムリソースを前記システムメモリから回収することができるかどうかを判断するために、ガベージコレクションを実行する動作であって、前記ガベージコレクションは、回収されないように前記参照ラッパーによって有効に参照される前記特定のＧＣオブジェクトを考慮する、動作と
を含む、方法。
【請求項２】
ガベージコレクションの後に前記参照ラッパーと前記特定のＧＣオブジェクトとの間の前記新たな参照を削除する動作を更に含む、請求項１に記載の方法。
【請求項３】
前記カウントラッパーを介して参照される前記特定のＧＣオブジェクトの前記寿命を保護する動作は、前記参照ラッパーに対する前記特定のＧＣオブジェクトの依存性を作成する動作を含む、請求項１に記載の方法。
【請求項４】
前記カウントラッパーが前記特定のＧＣオブジェクトを間接的に参照することを決定する動作を更に含む、請求項１に記載の方法。
【請求項５】
前記カウントラッパーが前記特定のＧＣオブジェクトを直接参照することを決定する動作を更に含む、請求項１に記載の方法。
【請求項６】
任意の割り当て済みのシステムリソースを回収することができるかどうかを判断するためにガベージコレクションを実行する動作は、１つ以上のオブジェクトを削除してシステムメモリを回収する動作を含む、請求項１に記載の方法。
【請求項７】
１つ以上のプロセッサとシステムメモリとを含むコンピュータシステムにおいて、システムリソースを回収しようとする試みに備えて参照カウントオブジェクトがどのような方法で参照されるかを決定する方法であって：
前記システムメモリにおいて循環グラフを構築する動作であって、該循環グラフは、
（ｉ）参照カウント法に従って寿命が管理される１つ以上の参照カウントオブジェクトを含む、カウント型オブジェクトグラフと、
（ｉｉ）ガベージコレクションに従って寿命が管理される１つ以上のガベージコレクション（ＧＣ）オブジェクトを含む、ＧＣオブジェクトグラフと、
を含み、前記カウント型オブジェクトグラフの特定の参照カウントオブジェクトは、前記カウント型オブジェクトグラフのカウントラッパーを介して前記ＧＣオブジェクトグラフの特定のＧＣオブジェクトを参照し、該特定のＧＣオブジェクトは、前記ＧＣオブジェクトグラフの参照ラッパーを介して前記特定の参照カウントオブジェクトを参照し、前記カウントラッパーは、別の参照カウントオブジェクトから、ＧＣに従って回収される更なるオブジェクトへの参照を格納し、参照カウント法に従って回収され、前記参照ラッパーは、別の参照ＧＣオブジェクトから、参照カウント法に従って回収される更なるオブジェクトへの参照を格納し、ＧＣに従って回収される、動作と；
前記循環グラフにおいて、オブジェクトのガベージコレクションを実施することに備えて：
前記カウントラッパーが参照ラッパー以外のいずれかのオブジェクトを介して到達可能であるかどうかを決定する動作と；
前記カウントラッパーが参照ラッパー以外のいずれかのオブジェクトを介して到達可能であるとき、ガベージコレクション中に前記カウントラッパーを回収から保護するよう、前記カウントラッパーを固定する動作と；
任意の割り当て済みのシステムリソースを回収することができるかどうかを判断するためにガベージコレクションを実行する動作であって、前記カウントラッパーが固定されているとき、ガベージコレクションは前記カウントラッパーを保持する、動作と
を含む、方法。
【請求項８】
前記カウントラッパーは、該カウントラッパーが標準参照を通じて到達可能であるときに、参照ラッパー以外のいずれかのオブジェクト以外を介して到達可能であると判断される、請求項７に記載の方法。
【請求項９】
前記カウントラッパーは、該カウントラッパーがトラック参照を通じて到達可能であるときに、参照ラッパー以外のいずれかのオブジェクト以外を介して到達可能であると判断される、請求項７に記載の方法。
【請求項１０】
１つ以上のプロセッサとシステムメモリとを含むコンピュータシステムにおいて、割り当て済みのシステムリソースを回収するための方法であって：
前記システムメモリにおいて循環グラフを構築する動作であって、該循環グラフは、
（ｉ）参照カウント法に従って寿命が管理される１つ以上の参照カウントオブジェクトを含む、カウント型オブジェクトグラフと、
（ｉｉ）ガベージコレクションに従って寿命が管理される１つ以上のガベージコレクション（ＧＣ）オブジェクトを含む、ＧＣオブジェクトグラフと、
を含み、前記カウント型オブジェクトグラフの特定の参照カウントオブジェクトは、前記カウント型オブジェクトグラフのカウントラッパーを介して前記ＧＣオブジェクトグラフの特定のＧＣオブジェクトを参照し、該特定のＧＣオブジェクトは、前記ＧＣオブジェクトグラフの参照ラッパーを介して前記特定の参照カウントオブジェクトを参照し、前記カウントラッパーは、別の参照カウントオブジェクトから、ＧＣに従って回収される更なるオブジェクトへの参照を格納し、参照カウント法に従って回収され、前記参照ラッパーは、別の参照ＧＣオブジェクトから、参照カウント法に従って回収される更なるオブジェクトへの参照を格納し、ＧＣに従って回収される、動作と；
前記特定のＧＣオブジェクトを格納するのに使用されるシステムリソースの少なくとも一部が、ガベージコレクション中に前記システムメモリから回収されるべきであると判断する動作と；
前記ＧＣオブジェクトの解放をファイナライズする前に、前記ＧＣオブジェクトが収集されたことを前記特定の参照カウントオブジェクトに通知する動作と；
前記通知に応答して、前記カウント型オブジェクトグラフ内の参別の参照カウントオブジェクトから、前記特定の参照カウントオブジェクトへの弱参照を切り離す動作と；
システムリソースのいずれかの更なる部分を前記システムメモリから回収することができるかどうかを判断するために、ガベージコレクションを継続する動作と；
を含む、方法。